{"id":28428942,"url":"https://github.com/npv2k1/nstore-microservice","last_synced_at":"2026-04-06T08:32:16.534Z","repository":{"id":179879465,"uuid":"662363544","full_name":"npv2k1/nstore-microservice","owner":"npv2k1","description":"nstore microservice","archived":false,"fork":false,"pushed_at":"2023-08-13T21:38:17.000Z","size":1187,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"develop","last_synced_at":"2025-06-15T10:08:06.659Z","etag":null,"topics":["graphql","intern-project","microservice","mongodb","nextjs","nodejs","postgresql","react","redis"],"latest_commit_sha":null,"homepage":"https://nstore-microservice.vercel.app","language":"CSS","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/npv2k1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["npv2k1"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2023-07-05T01:25:29.000Z","updated_at":"2024-05-18T08:36:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"fb91b1db-3a2f-4ab2-96e7-b5cd875a5f9b","html_url":"https://github.com/npv2k1/nstore-microservice","commit_stats":null,"previous_names":["npv2k1/nstore-microservice"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/npv2k1/nstore-microservice","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/npv2k1%2Fnstore-microservice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/npv2k1%2Fnstore-microservice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/npv2k1%2Fnstore-microservice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/npv2k1%2Fnstore-microservice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/npv2k1","download_url":"https://codeload.github.com/npv2k1/nstore-microservice/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/npv2k1%2Fnstore-microservice/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31464604,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T21:22:52.476Z","status":"online","status_checked_at":"2026-04-06T02:00:07.287Z","response_time":112,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["graphql","intern-project","microservice","mongodb","nextjs","nodejs","postgresql","react","redis"],"created_at":"2025-06-05T13:08:16.012Z","updated_at":"2026-04-06T08:32:16.528Z","avatar_url":"https://github.com/npv2k1.png","language":"CSS","funding_links":["https://github.com/sponsors/npv2k1"],"categories":[],"sub_categories":[],"readme":"# nstore microservice\n\n## Demo\n\nFrontend: https://nstore-microservice.vercel.app\nBackend: https://nstore.2k1.me/graphql\n\n## Hướng dẫn cài đặt\n\nClone project:\n\n```bash\ngit clone https://github.com/npv2k1/nstore-microservice.git\n```\n\nCài đặt package ở các thư mục `api` và `web`\n\n```\npnpm install\n```\n\nĐể bắt đâu có thể sử dụng docker-compose\n\n```bash\ndocker-compose up -d\n```\n\nCấu trúc thư mục\n\n```\napps\n    api\n    nginx\n    web\ndocker\n    nginx\n```\n\n## Task\n\n- [x] Base project\n\n## Requirements\n\n- [x] **Authentication**\n\n  - [x] Login\n  - [x] Register\n  - [x] Verify Email\n\n- **Category**\n\n  - [x] CRUD Category\n  - [ ] Allow sorting and changing banner images for each category\n  - [x] Manage category status (active/inactive)\n\n- **Items**\n\n  - [x] CRUD Items\n  - [x] Manage item properties:\n    - [x] Name\n    - [x] Barcode\n    - [x] Purchase price\n    - [x] Selling price\n    - [x] Weight\n    - [ ] Thumbnail image\n    - [ ] Detailed images\n    - [x] Product description\n    - [x] Inventory management (deduct quantity when sold)\n\n- **Order**\n\n  - [x] Create an order\n  - [x] View order details\n  - [x] Calculate total payment amount\n  - [x] Deduct item quantity from inventory\n\n- **Voucher**\n\n  - [x] Apply voucher to an order\n  - [ ] Manage vouchers:\n    - [ ] Set limitations on quantity and time\n    - [x] Create voucher codes\n\n- **FlashSale**\n\n  - [x] Manage flash sale time\n  - [x] Manage prices during flash sale\n\n- [ ] **Item Quantity**\n\n  - [x] Track and manage item quantities\n\n- **Notification**\n\n  - [x] Send email notifications:\n    - [x] Notify users 15 minutes before starting\n    - [x] Include order details\n\n- [ ] **Access Control**\n\n  - [ ] Restrict deletion of products with associated orders\n  - [x] Only allow admin to create categories and products\n\n- [ ] **API Features**\n\n  - [ ] Implement search functionality\n  - [x] Enable sorting of results\n  - [ ] Apply filters to narrow down results\n  - [x] Implement pagination for large result sets\n\n- [x] **Testing and Documentation**\n\n  - [x] Write unit tests for different components\n  - [x] Generate Swagger documentation for APIs\n\n- [x] **Email Notification**\n  - [x] Configure cron job for sending email notifications\n\n## Additional Features\n\n- [ ] **Authentication and Authorization**\n\n  - [x] Implement secure user authentication and authorization mechanism (e.g., JWT, OAuth)\n  - [x] Manage user roles and permissions (admin, customer, etc.)\n  - [x] Ensure secure password storage using hashing and salting techniques\n\n- [ ] **User Management**\n\n  - [ ] Allow users to update their profile information\n  - [ ] Implement password reset functionality\n  - [x] Enable social login (e.g., Google, Facebook)\n\n- [ ] **Product Management**\n\n  - [ ] Implement advanced product search functionality (by name, category, attributes, etc.)\n  - [ ] Enable product filtering and sorting options\n  - [ ] Support multiple product images and thumbnails\n  - [ ] Implement product recommendations or related products feature\n  - [ ] Implement product reviews and ratings system\n  - [ ] Add support for product variants (e.g., size, color)\n  - [ ] Implement inventory management and stock tracking\n  - [ ] Integrate with a third-party shipping service for real-time shipping rates\n  - [ ] Enable product bundling or package deals\n\n- [ ] **Shopping Cart and Checkout**\n\n  - [ ] Implement a persistent shopping cart for guests and authenticated users\n  - [ ] Support adding/removing items from the cart\n  - [ ] Implement cart-based promotions or discounts\n  - [ ] Enable guest checkout without requiring user registration\n  - [ ] Implement various payment gateway integrations (e.g., PayPal, Stripe)\n  - [ ] Ensure secure transmission of payment information (e.g., SSL/TLS)\n  - [ ] Implement order confirmation and email notifications to customers\n\n- [ ] **Order Management**\n\n  - [ ] Provide order history and order tracking functionality to customers\n  - [ ] Implement order status management (e.g., pending, shipped, delivered)\n  - [ ] Generate printable invoices and packing slips\n  - [ ] Support partial order fulfillment and backorders\n\n- [ ] **Security Enhancements**\n\n  - [ ] Implement rate limiting to prevent brute-force attacks and DDoS\n  - [ ] Protect against common web vulnerabilities (e.g., SQL injection, XSS)\n  - [ ] Implement HTTPS for secure communication\n  - [ ] Regularly update and patch server dependencies\n\n- [ ] **Performance Optimization**\n\n  - [ ] Implement caching mechanisms to improve response times\n  - [ ] Optimize database queries and indexing for faster retrieval\n  - [ ] Implement asynchronous processing for resource-intensive tasks (e.g., image resizing)\n\n- [ ] **Scalability and High Availability**\n\n  - [ ] Design the API to be horizontally scalable by utilizing load balancers\n  - [ ] Implement caching layers (e.g., Redis) for improved performance\n  - [ ] Set up auto-scaling mechanisms based on traffic patterns\n  - [ ] Deploy the API on a cloud infrastructure for better scalability\n\n- [ ] **API Documentation and Testing**\n\n  - [ ] Create comprehensive API documentation (e.g., Swagger/OpenAPI)\n  - [ ] Implement automated tests for API endpoints (unit tests, integration tests)\n  - [ ] Set up a continuous integration and deployment pipeline\n\n- [ ] **Monitoring and Analytics**\n\n  - [ ] Implement logging and error tracking mechanisms\n  - [ ] Monitor API performance and uptime using tools like Prometheus or New Relic\n  - [ ] Implement analytics to gain insights into user behavior and conversion rates\n\n- [ ] **Compliance and Data Protection**\n  - [ ] Ensure compliance with data protection regulations (e.g., GDPR, CCPA)\n  - [ ] Encrypt sensitive data in transit and at rest\n  - [ ] Regularly perform security audits and vulnerability assessments\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnpv2k1%2Fnstore-microservice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnpv2k1%2Fnstore-microservice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnpv2k1%2Fnstore-microservice/lists"}