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_HOSTDB_USERDB_NAMEDB_PORTDB_PASSWORDMAILGUN_DOMAINJWT_SECRET_KEYMAILGUN_API_KEYSTRIPE_SECRET_KEYMAILGUN_PUBLIC_API_KEY