CaronaBoard.com is an open source project, with the goal of creating a way to optimize the use of cars in cities, contributing to reduce local traffic, reduce use of fossil fuel, and help people to connect to its friends and colleagues.
Different than other products such as BlablaCar, CaronaBoard aim is to remain free! In our view give ride is a matter of friendship! We based the entire idea on principles of friendship and comradery, and that you would spend the same fuel and money if you go alone or if you give ride to your friends/colleagues. If they want to give the rider a contribution it is up to them, and the tool won't be designed to make money out from it.
Another huge difference from other car pooling systems is that the focus of Caronaboard is to serve people on their daily routine inside the cities. This conceptual difference makes CaronaBoard mission a lot more challenging because daily rides are less planned and least for a very short time span. The transportation subject in big urban centers is a super complex problem but at the same time we believe that this would make our mission and work fun and inspiring.
In order to solve this problem we would like to gather brilliant people with the ideas and willigness to radically change the world!
Below some ideas about the concept of CaronaBoard:
- Free tool: CaronaBoard will be free, meaning that it won't be used to make money or provide tools for people make money
- Connect people: the idea is simple, CaronaBoard has to allow people to easy communicate and get ride to each other.
- Communities: the product will evolve to the idea of communities, so people can create a community for its workplace, or a group of friends. This will ensure you do not risk to get/give ride to someone you do not know or someone that can offer risk, specially in the current world where there is a lot of violence, prejudice and sexism. The idea is that in the future group administrator could allow people to join group or ban other members.
- Collaboration: CaronaBoard idea is to be a collaborative project. Your ideas and contributions are welcome.
- React + ES6
- Webpack
- Node.js
- Express
- Node.js 6.2.2 (We recommend using nvm to manage your Node version)
nvm use
(optional if you use nvm)npm install
npm run dev-server
- http://localhost:8079/
We are using enzyme + mocha + chai to unit test our ReactJS components.
To run tests, simply run npm test
.
We have a CD pipeline consisting of TravisCI + Heroku automatic deploy once tests pass on master branch.
Snap basically build the app and run the Elm tests. Then it deploys to github pages by creating a new commit on the repo caronaboard.github.io.
You can see Snap CI config and pipeline here.
We are using Webpack as our project's module bundler.
- Compiling SASS
- Providing us a development server with hot module reloading
- Transpiling our code using babel
- Optimizing our code in production builds
Since we have both development and production bundling behaviour, it's
very important to make sure you are running npm scripts with the correct
NODE_ENV
variable set.