icare is an open source carpooling platform used as a basis for our commercial product Company Carpool.
Carpooling (also known as car-sharing, ride-sharing, lift-sharing and covoiturage), is the sharing of car journeys so that more than one person travels in a car. By having more people using one vehicle, carpooling reduces each person’s travel costs such as fuel costs, tolls, and the stress of driving. Carpooling is also seen as a more environmentally friendly and sustainable way to travel as sharing journeys reduces carbon emissions, traffic congestion on the roads, and the need for parking spaces. Authorities often encourage carpooling, especially during high pollution periods and high fuel prices. (From Wikipedia)
icare uses the following technologies:
- Ruby on Rails
- Webpacker
- Handlebars.js (JavaScript semantic templates)
- SLIM
- Bootstrap
- Font Awesome (vectorial icons)
- Devise
- Asynchronous tasks with Sucker Punch
- OAuth login with Auth0
- Google Maps API
- RSpec
- Heroku Cloud Application Platform
- Multi-Environment configuration
- Airbrake Exception Notification
- New Relic Application Performance Management service
A working demo is available at https://icare.diowa.com/
icare name and logo are temporary. icare is a portmanteau of "I care", "Car" and "Environment". No copyright violation is intended.
Immediate: Check out our To Do list. Long-term: TODO
icare uses standard Rails Internationalization (I18n) API. If you translated icare in your own language, make a pull request.
Please read through our contributing guidelines. Included are directions for opening issues, coding standards, and notes on development.
More over, if your pull request contains patches or features, you must include relevant unit tests.
Editor preferences are available in the editor config for easy use in common text editors. Read more and download plugins at https://editorconfig.org.
If you are interested in feature development, we have priorities. Check out our To Do list.
Geremia Taglialatela
Cesidio Di Landa
icare is licensed under the BSD 2-Clause License
Check the LICENSE file for more information
Special thanks to all developers of open source libraries used in this project.
Experimental Docker support. Please do not ask for support, PR to improve the current implementation are very welcomed.
TODO:
- Fix Puma exit status (puma/puma#1673)
- Check multi-environment support
- Add Sidekiq container
Generate SSL requirements:
openssl req -subj '/CN=localhost' -x509 -newkey rsa:4096 -nodes -keyout docker/nginx/ssl/app_key.pem -out docker/nginx/ssl/app_cert.pem -days 825
openssl genpkey -genparam -algorithm DH -out docker/nginx/ssl/app_dhparam4096.pem -pkeyopt dh_paramgen_prime_len:4096
Copy docker/icare/variables.env.example
to docker/icare/variables.env
and
run docker-compose up
icare will be accessible on https://localhost:3443
After generating the SSL requirements, run:
rails s -b "ssl://0.0.0.0:3443?key=docker/nginx/ssl/app_key.pem&cert=docker/nginx/ssl/app_cert.pem"
icare will be accessible on https://localhost:3443
If you like this project or you are considering to use it (or any part of it) for commercial purposes, please make a donation to the authors.