The project aims to provide solution to the issue of traffic for emergency vehicles by providing the users on the route of the emergency vehicle, a notification when it arrives within a specific radius asking them to make way for the vehicle. It also provides the emergency vehicle the best possible route for reaching its destination. The project also aims to provide feature for reporting an emergency situation in very few steps which is then notified to all emergency vehicle drivers to act upon it instantly.
We've all came across situations where we see emergency vehicles with patients struggling their way through traffic, or situations where a accident happens and emergency vehicle drivers get notified too late to take an action. Our thought behind this project is to find solution to these issues by notifing the users of our app about an incoming emergency vehicle on their route and asking them to make way for it. Our app also gives its users an option to trigger an emergency and notify emergency vehicle drivers about the emergency situation so that necessary actions can be taken immediately.
-
All required frontend designs are built and are available on different routes (Some of them are still to be integrated with the backend for funcionality). All designs are available here on this link. These designs include the following:
- Landing Page
- Login/Signup Page
- Profile Page
- Navigation Menu
- Direction Notifiers
- Create Emeregency
-
User Authentication has been integrated into the frontend.
-
Maps API has been integrated into the frontend.
-
Google places autocomplete has been integrated into the frontend for location suggestions.
-
Navgation has been setup and is in working state.
- GraphQl and Apollo Server have been setup.
- User schemas, types & queries have been setup.
- Login & SignUp mutations have been setup.
- User authentication mutation using JWT has been setup.
- Integration of remaining backend APIs when they are completed.
- Create Emeregency schema, queries and mutations.
- Setting up GraphQl Subscription for building continious integration between emergency vehicle driver notfication and emergency creation.
- Handling emergencies once triggered in frontend by giving navigation routes.
- Updating users once an emergency vehicle is within a specified radius.
- Some optimizations.
- React
- Apollo Client
- Google Maps API
- Google Maps Navigation API
- React Google Autocomplete for places suggestions.
- Node
- Express
- GraphQl
- Apollo Client
- MongoDB
- Mongoose
- JWT
- Bcryptjs
Clone the frontend and backend repositories, cd into them individually, and then follow the below mentioned steps for setting up backend and frontend seprately.
- Run
npm install
. - Generate your Map API key using this link and replace it with the keys in index.html & Map.js files of frontend.
- Change backend port in App.js file if you change it in backend, by default the backend is setup to run on port 8000.
- Run
npm install
. - We used MongoDB Atlas for hosted database, you can have a local database if you want but we recommend using Atlas. If you are using Atlas replace your database link in keys.js file of backend.
- Set your JWT secret in keys.js file of backend.
Run npm start
in the Backend repo first and then in Frontend .