icare
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
- PostgreSQL
- Shakapacker
- 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
Name and logo
icare name and logo are temporary. icare is a portmanteau of "I care", "Car" and "Environment". No copyright violation is intended.
Roadmap
Immediate: Check out our To Do list. Long-term: TODO
Internationalization (i18n)
icare uses standard Rails Internationalization (I18n) API. If you translated icare in your own language, make a pull request.
Contributing
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.
Authors
Geremia Taglialatela
Cesidio Di Landa
Copyright and license
icare is licensed under the BSD 2-Clause License
Check the LICENSE file for more information
Thanks
Special thanks to all developers of open source libraries used in this project.
Docker (Experimental)
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
Start rails outside of Docker with SSL
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
Donations
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.