Skip to content

omerihtizaz/retailer-system

Repository files navigation

# Retailer System

## Overview

The Retailer System is a robust online marketplace where retailers can showcase their products, and users can browse and make purchases securely from the comfort of their devices. The application is designed with a stringent regulatory process, ensuring that both retailers and products are thoroughly reviewed and verified by administrators before becoming accessible to users.

## Key Features

- **Secure Authentication:** Implemented JWT token-based authentication for secure user validation, providing authorized API access.

- **Google Cloud Integration:** Utilized Google Cloud Platform (GCP) services, including Buckets and BigQuery, for dynamic data storage, flexible querying, and real-time updates.

- **Microservices Efficiency:** Integrated Axios for streamlined microservices operations, ensuring efficient communication between components.

- **Real-time Data Processing:** Leveraged KafkaJs as a Pub/Sub system for handling real-time streaming data, distinguishing Producers and Consumers.

- **Order Fulfillment Process:** Enabled users to select items, create orders, and process payments, ensuring a seamless order flow.

- **User and Retailer Registration Workflow:** Designed secure sign-up processes for users and retailers, pending admin approval. Admins reviewed and either accepted or rejected applications.

- **Retailer Item Submission Workflow:** Allowed retailers to submit products for approval, storing them in a relay table for admin review. Admins approved or dismissed items based on their criteria.

- **Metrics and Monitoring Integration:** Integrated Prometheus for real-time metric recording, providing essential data for application analysis. Dockerized the application and connected it with Prometheus and Grafana for enhanced monitoring.

## Installation

1. Clone the repository:

git clone https://github.com/username/Retailer-System.git


2. Install dependencies:

cd Retailer-System npm install


3. Configure environment variables:
- Create a `.env` file and set necessary environment variables.

4. Start the application:

npm start


## Usage

- Visit the application in your web browser at `http://localhost:3000`.
- Follow the on-screen instructions to register, browse products, and make purchases.

## Contributing

Contributions are welcome! Please follow the [contributing guidelines](CONTRIBUTING.md) for more details.

## License

This project is licensed under the [MIT License](LICENSE).

---

**Disclaimer:** This project is for educational purposes and does not represent a real-world application. It is not intended for production use.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published