{"id":25642941,"url":"https://github.com/abdulrehman-z/typescript-ecommerce-backend","last_synced_at":"2025-04-15T05:25:24.955Z","repository":{"id":165264577,"uuid":"638485442","full_name":"AbdulRehman-z/typescript-ecommerce-backend","owner":"AbdulRehman-z","description":"A fully-fledge ecommerce backend using TypeScript.","archived":false,"fork":false,"pushed_at":"2024-08-18T11:33:23.000Z","size":321,"stargazers_count":21,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-28T16:21:19.182Z","etag":null,"topics":["ecommerce-application","learn","mongo","nodejs","nodemailer","redis","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AbdulRehman-z.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-05-09T13:12:45.000Z","updated_at":"2025-03-23T11:50:43.000Z","dependencies_parsed_at":"2024-02-11T07:24:36.481Z","dependency_job_id":"bc385dc1-adbd-4552-8678-9ba38d5ca8fd","html_url":"https://github.com/AbdulRehman-z/typescript-ecommerce-backend","commit_stats":null,"previous_names":["abdulrehman-z/typescript-ecommerce-backend","abdulrehmanconqueror/typescript-ecommerce-backend"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbdulRehman-z%2Ftypescript-ecommerce-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbdulRehman-z%2Ftypescript-ecommerce-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbdulRehman-z%2Ftypescript-ecommerce-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbdulRehman-z%2Ftypescript-ecommerce-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AbdulRehman-z","download_url":"https://codeload.github.com/AbdulRehman-z/typescript-ecommerce-backend/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249011954,"owners_count":21198124,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ecommerce-application","learn","mongo","nodejs","nodemailer","redis","typescript"],"created_at":"2025-02-23T06:16:32.012Z","updated_at":"2025-04-15T05:25:24.932Z","avatar_url":"https://github.com/AbdulRehman-z.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# E-commerce Platform\n\nWelcome to our E-commerce platform! This repository contains the source code for a feature-rich e-commerce application built using Node.js, Express.js, MongoDB, and Redis. This README provides an overview of the project, installation instructions, and information about the available API routes.\n\n## Table of Contents\n\n- [Getting Started](#getting-started)\n  - [Prerequisites](#prerequisites)\n  - [Installation](#installation)\n- [Features](#features)\n- [API Routes](#api-routes)\n- [Bull Board](#bull-board)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Getting Started\n\n### Prerequisites\n\nBefore you can run the application, make sure you have the following installed on your system:\n\n- Node.js (at least version 12)\n- MongoDB\n- Redis\n\n### Installation\n\n1. Clone the repository to your local machine:\n\n   ```\n   git clone https://github.com/your-username/e-commerce-platform.git\n   ```\n\n2. Install the required dependencies:\n\n   ```\n   cd e-commerce-platform\n   npm install\n   ```\n\n3. Create a `.env` file in the root directory and set the following environment variables:\n\n   ```\n   MONGO_URI=your-mongodb-uri\n   REDIS_URL=your-redis-url\n   ADMIN_EMAIL_SRV=your-admin-email-service\n   PASS=your-email-service-password\n   SECRET=your-session-secret\n   PORT=your-allotted-port\n   ```\n\n4. Start the development server:\n\n   ```\n   npm run dev\n   ```\n\n   The application should now be running on `http://localhost:3000`.\n\n## Features\n\nOur e-commerce platform provides a wide range of features, including:\n\n- User authentication (signup, login, logout, password reset)\n- Product management (create, update, delete, view products)\n- Cart functionality (add, delete items, view cart)\n- Order management (create, update status, view orders)\n- Wishlist (add, remove, view wishlist)\n- Admin dashboard with advanced features (total orders, sales revenue, top selling products)\n- Real-time notifications using Bull and Redis\n\n## API Routes\n\nThe following are the available API routes for the e-commerce platform:\n\n- **User Routes**\n\n  - `/api/auth/signup`: User registration\n  - `/api/auth/login`: User login\n  - `/api/auth/logout`: User logout\n  - `/api/auth/currentuser`: Get current user details\n  - `/api/auth/updateuser`: Update user profile\n  - `/api/auth/resetpassword`: Initiate password reset process\n  - `/api/auth/forgotpassword`: Forgot password route\n\n- **Product Routes**\n\n  - `/api/products`: Create a new product\n  - `/api/products/:id`: Update an existing product\n  - `/api/products`: Get all products\n  - `/api/products/:id`: Get a specific product by ID\n  - `/api/products/category/:category`: Get products by category\n\n- **Cart Routes**\n\n  - `/api/cart/add`: Add a product to the cart\n  - `/api/cart/delete/:id`: Delete a product from the cart\n\n- **Order Routes**\n\n  - `/api/orders`: Create a new order\n  - `/api/orders/actions`: Update order status\n  - `/api/orders/:id`: Get a specific order by ID\n\n- **Wishlist Routes**\n\n  - `/api/wishlist/add/:id`: Add a product to the wishlist\n  - `/api/wishlist/remove/:id`: Remove a product from the wishlist\n\n- **Admin Routes**\n  - `/api/admin/orders/actions/:id`: Update order status (for admins)\n  - `/api/admin/orders/sales-revenue`: Get total sales revenue within a specified time period\n  - `/api/admin/products/top-selling`: Get top-selling products\n  - `/api/admin/orders/specific-orders`: Get orders based on specified parameters\n\n## Bull Board\n\nWe have also integrated Bull Board for managing background jobs and real-time notifications. To access Bull Board, navigate to `/admin/queues` on your local development server.\n\n## Contributing\n\nWe welcome contributions to our e-commerce platform! If you have any suggestions, bug reports, or feature requests, please open an issue or submit a pull request.\n\n## Note\n\nPlease be aware that this is a backend-only project, and no payment gateway has been implemented. The focus is on providing a solid foundation for an e-commerce platform, allowing users to manage products, carts, orders, and more. You will need to integrate a payment gateway separately and also their are no transactions support(ACID Transactions) if you plan to use this project for a complete e-commerce application.\n\nThank you for checking out our E-commerce Platform! We hope it proves to be a useful and feature-rich foundation for your e-commerce projects. Happy coding!\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdulrehman-z%2Ftypescript-ecommerce-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabdulrehman-z%2Ftypescript-ecommerce-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdulrehman-z%2Ftypescript-ecommerce-backend/lists"}