- Live URL: QKart Backend
- Backend live URL: QKart Backend - Vercel
QKart is an E-commerce application offering a variety of products for customers to choose from.
- Created a MongoDB instance on MongoDB Atlas cloud and uploaded products data to the cloud DB.
- Deployed the QKart Node.js app to Heroku.
- Deployed the QKart React frontend to Netlify after configuring it to use the deployed Node.js backend.
MongoDB Atlas, Deployment, Heroku, Netlify
- Added Jest-based assertions to unit tests for checkout requirements provided.
- Implemented the checkout logic in a Test-driven development style.
- Utilized integration tests to find and resolve bugs on integrating checkout logic to the application.
Test-driven development, Unit testing, Integration testing, Jest framework
- Implemented the GET/POST/PUT API endpoints for a user’s shopping cart.
- Improved the
GET /v1/users
endpoint by supporting filtering for user address via query parameters.
REST APIs, Filtered API Queries
- Implemented logic to generate short-lived JWT tokens.
- Set token authentication strategy by using the Passport library.
- Secured
GET /v1/users
endpoint using token authentication. - Created POST APIs for user registration and login.
- Implemented password authentication to facilitate register/login flow.
REST APIs, Token authentication, JWT Token, Password authentication, Hashing
- Implemented
GET /v1/users
API endpoint to send user data to clients. - Followed a layered approach to implement the request-response cycle for ease of maintenance.
- Used Mongoose (Node.js-MongoDB ODM) to fetch user data from MongoDB.
- Defined JOI schema to easily validate client requests.
- Utilized middlewares to reduce code duplication.
Node.js, Express.js, MongoDB, Mongoose ODM, JOI validation