Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/anusree6154s/qkart-backend-2

Backend for Crio module - QKart Backend
https://github.com/anusree6154s/qkart-backend-2

jest jwt mongodb mongoose nodejs passportjs reactjs

Last synced: 23 days ago
JSON representation

Backend for Crio module - QKart Backend

Awesome Lists containing this project

README

        

# Crio Module: QKart Backend


qkart-backend-2-demo-gif


Deployment URLs

QKart Backend (Render)

QKart Frontend (Netlify)

QKart Backend API Doc

## Description

- **Problem**: E-commerce applications need robust and secure backends for user management and product transactions.
- **Solution**: Developed a comprehensive set of **REST APIs** for the QKart e-commerce application.

## Development Strategy

### Technology Stack

- **Back-end**: **Node.js**, **Express.js** for server-side logic.
- **Database**: **MongoDB** for flexible data storage.
- **Authentication**: **JWT** for secure user sessions; **Passport.js** for authentication management.
- **Testing**: **Jest** for unit and integration tests.

### Architecture

- **Layered Approach**: Separates concerns to enhance maintainability.
- **API Structure**:
- **User Management**: Handles registration, login, and user data.
- **Shopping Cart**: Manages product addition and user checkout.

### Features

- **User Registration & Authentication**: Secure account creation and login.
- **Shopping Cart Management**: Add/remove products, update quantities.
- **Checkout Process**: Facilitates transaction handling.

## Trade-offs & Improvements

- Prioritized security over performance; optimizations planned for future iterations.
- Basic tests implemented; focus on expanding testing coverage.

## Future Improvements

- Implement microservices for better scalability.
- Enhance API documentation and improve error handling.

## How to Run

1. **Clone the repo**:

```bash
git clone https://github.com/yourusername/qkart-backend.git
```

2. **Install dependencies**:

```bash
npm install
```

3. **Run the server**:

```bash
npm start
```

Access the API at `http://localhost:YOUR_PORT/v1`.

## Demo

- Preview homepage of API Docs


qkart-backend-2-demo