This project contains all required frontend and backend files to run and host a complete working Cab booking service. This webapp allows user to register, signin and book cabs from any location to other.
- User Authentication and Authorization.
- State and Session Management.
- Search Cabs And Choose From Various Types Of Cabs.
- Booking, Ride Authentication And Sharing.
- Email Verifications
The system should meet the follwing requirements-
- NodeJS Installed and Working
- NPM Installed and Working.
- 256 MB of available storage space
- 512 MB Memory (RAM)
Both frontend and backend have their own dependencies that are mentioned in their respective folder. In order to use these project those required dependencies are needed to be installed.
Installation Steps are given individually for both frontend and backend. Installation is done using npm.
Navigate to backend folder and enter the following command to run the server.
node server.js
This will start the server at 10000 port if it's available, else it will throw error ERR-ADDRESS_NOT_AVAILABLE. In such case, you can terminate server already running on port 10000, or you can change the port of this server in server.js under app.listen.
Navigate to backend folder and enter the following command to run the server.
npm run dev
This will start the frontend ui server at localhost url, which will be visible when the frontend starts running. You can directly click on that URL while pressing CTRL to open it, or you can copy it and paste it in any browser of your choice. Usually the url is http://localhost:5173 but it depends upon the factors of port availbility too.
Server uses protected routes and methods like JSW Tokens to ensure users are authenticated and restrict unauthorized access to all the resources. This token is verified in all subsequnt requests. This token is stored in encrypted form in cookies. Moreover, Cookies are secured in such way that they are only accessible over http requests and not in browser adding a layer of security.