Skip to content

Building an e-commerce backend with support for modern day technologies like Kafka, Firebase, amongst many others. (Under active development)

License

Notifications You must be signed in to change notification settings

TheInvincibleRalph/Advanced-Ecommerce-Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Advanced E-commerce Backend

This is an advanced e-commerce backend built with the Gorilla Mux router and PostgreSQL as the database. The project integrates several modern technologies to ensure high performance, scalability, and a seamless user experience.

Key Technologies

  • Firebase: Used for push notifications to keep users updated on order statuses and more.
  • Mailgun: Facilitates sending automated emails such as order confirmations and promotional emails.
  • Stripe: Handles secure payment processing with support for various payment methods.
  • Redis: Provides caching for faster data retrieval and reduced database load.
  • GORM: An ORM (Object-Relational Mapper) for database interaction with PostgreSQL.
  • JWT (JSON Web Tokens): Used for secure authentication and authorization of users.

Features

  • Pagination, Filtering, and Search: Efficiently browse products using pagination, filtering by categories, and searching for specific items.

Auth Routes

  • POST /api/v1/signup (signup)
  • POST /api/v1/login (user login)

User Routes

  • POST /api/v1/users (add user)
  • GET /api/v1/users (get users)
  • GET /api/v1/users/{id} (get user by id)
  • PUT /api/v1/users/{id} (update user)
  • DELETE /api/v1/users/{id} (delete user)

Product Routes

  • POST /api/v1/products (add product)
  • GET /api/v1/products (get products)
  • GET /api/v1/products/{id} (get product by id)
  • PUT /api/v1/products/{id} (update product)
  • DELETE /api/v1/products/{id} (delete product)

Category Routes

  • POST /api/v1/categories (add category)
  • GET /api/v1/categories (get categories)
  • GET /api/v1/categories/{id} (get category by id)
  • PUT /api/v1/categories/{id} (update categories)
  • DELETE /api/v1/categories/{id} (delete categories)

Environment Variables

  • DB_HOST
  • DB_USER
  • DB_NAME
  • DB_PORT
  • DB_PASSWORD
  • MAILGUN_DOMAIN
  • JWT_SECRET_KEY
  • MAILGUN_API_KEY
  • STRIPE_SECRET_KEY
  • MAILGUN_PUBLIC_API_KEY

About

Building an e-commerce backend with support for modern day technologies like Kafka, Firebase, amongst many others. (Under active development)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages