optiroute is a web application designed to streamline the process of event scheduling and route planning, while also offering social interaction features.
- User Authentication: Sign-up, login, and password reset functionalities.
- Event Management: Add, view, and manage personal and shared events on a calendar UI.
- Route Planning: Integrated with Google Maps, allowing users to plan routes, select travel modes, and manage saved routes.
- Weather Widget: Integrated with OpenWeather, allowing users to see the weather around the location of their routes.
- Social Interactions: Connect with friends, share events, and manage friend requests.
- Notifications: Customize notification settings and receive email/text notifications for any upcoming events.
- Frontend: React.js
- Backend: Node.js, Express.js
- Database: MongoDB
- Others: Google Maps API, OpenWeather API
- Clone the git repository
- Change directory into
optirouteand runnpm --force install - Change directory into
optiroute/src/backendand runnpm install - Inside
optiroute/src/backend, create a new file,.envand paste these contents in:
// You will have to grab your own MongoDB URI.
PORT=4000
MONGO_URI=mongodb+srv://user:[email protected]/?retryWrites=true&w=majority
- Run
npm startinoptirouteand runnpm run devinoptiroute/src/backend
You will be required to acquire API keys to fully utilize all features of optiroute.
- SMS Notification - textflow.me
- Replace
apiKeyinoptiroute/src/App.jswith your key - Replace
apiKeyinoptiroute/src/Components/NotificationSetting/NotificationSetting.jsxwith your key
- Replace
- Google OAuth
- Replace
client_idin `optiroute/src/Components/LoginSignup/LoginSignup.jsx with your key
- Replace
- Google Maps API
- Replace
apiKeyinoptiroute/src/Components/MapV2/GMapV2.jsxwith your key
- Replace
