This project represents the backend of an e-commerce website, "Marfa Market Depot", designed to support and enhance the user experience provided by the frontend "Marfa Marketplace." This backend efficiently handles data requests and management for the questions and answers component of the Marfa Marketplace frontend.
As part of a collaborative project involving four software engineering students, I focused on developing the backend to support the Questions & Answers component of the frontend retail web portal.
- Overview: Manages requests related to product details, styles, and cart operations.
- Ratings & Reviews: Handles data for customer reviews, including submission and retrieval.
- Questions & Answers: Facilitates the Q&A section, allowing customers to ask and answer product-related questions.
- Related Items & Comparison: Supports retrieving data for related products and customer-built outfits.
Optimization Techniques:
- Improved read times for questions and answers using MongoDB's aggregation pipeline, indexing, limits, and field projections.
New Relic Monitoring:
- Utilized New Relic for real-time performance monitoring, achieving significant improvements in response times and throughput.
- GET Questions: Response time reduced by 100%.
- GET Answers: Response time reduced by over 200%.
- Mark Question/Answer Helpful and Report Question/Answer times reduced by 75%.
Loader.io Testing and Load Balancing with NGINX:
- Increased RPS from 1000 to 2700 using load balancing and caching with Nginx while maintaining latency < 50ms and 0% error rate
- try different implementations of caching
- Navigate to the root directory.
- Install dependencies:
npm install
. - Start the server:
npm run devStart
.
- Create new branch
git checkout -b <name of branch>
- ∆ code to complete ticket
git status
git add < . . . >
git commit
git push origin <branch I'm pushing to remote>
git checkout main
git pull origin main
git checkout <branch name>
git merge main
git push origin <branch name>
- Pull request