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.
- 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.
- Pagination, Filtering, and Search: Efficiently browse products using pagination, filtering by categories, and searching for specific items.
POST
/api/v1/signup
(signup)POST
/api/v1/login
(user login)
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)
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)
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)
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