A full-stack Sweet Shop Management System built to manage real-world shop operations.
This project demonstrates RESTful API development, authentication, inventory management, frontend SPA design, Test-Driven Development principles, and transparent AI usage.
π Live Demo
π https://sweet-shop-management-system-mauve.vercel.app
The goal of this kata is to design, build, and test a complete Sweet Shop Management System while showcasing:
- Backend API development
- Secure authentication
- Database-backed inventory management
- Frontend implementation using a modern framework
- Test-driven thinking
- Responsible and transparent use of AI tools
The system supports two roles:
- Admin: Manages sweets inventory (add, update, restock, delete)
- User: Browses sweets, searches with filters, adds to cart, and purchases items
The application features a clean UI, responsive layout, smooth animations, and dark/light mode support.
- React.js
- React Router
- JavaScript (ES6+)
- Custom CSS
- Responsive Design
- Dark / Light Theme
- CSS Animations & Transitions
- Node.js
- Express.js
- MongoDB
- JWT Authentication
- bcrypt for password hashing
- Vercel (Frontend)
- Render (Backend)
This project follows the Red β Green β Refactor approach.
- Tests are written to define expected behavior before or alongside feature development
- Core business logic is validated using automated tests
- Refactoring is performed after tests pass
- Authentication flows
- Sweet CRUD operations
- Inventory purchase and restock logic
- Authorization and role-based access control
Tests focus on validating business logic and edge cases, not just happy paths.
- Jest
- Supertest
cd backend
npm install
npm testTests focus on validating business logic and edge cases, not just happy paths.
AI tools were used as development assistants while ensuring all final logic, decisions, and implementations were done manually.
- ChatGPT β for requirement clarification, logic validation, and documentation refinement
- GitHub Copilot β for inline suggestions and reducing repetitive boilerplate code
- Used ChatGPT to brainstorm API endpoint structures and application flow
- Used ChatGPT to understand and validate TDD practices and edge cases
- Used GitHub Copilot to accelerate repetitive patterns such as CRUD handlers and test scaffolding
- Reviewed, modified, and finalized all AI-assisted code manually
AI improved development efficiency and helped reduce time spent on boilerplate tasks.
It allowed greater focus on system design, business logic, and UI quality.
Core problem-solving, debugging, and architectural decisions were made independently to ensure correctness and learning integrity.
Below are real screenshots showcasing admin and user workflows, inventory management, dark/light modes, and cart functionality.
Admins have full control over shop inventory:
- Add new sweets
- Update sweet details
- Restock inventory
- Delete sweets
- View real-time inventory status
Users enjoy a seamless shopping experience:
- Search sweets with multiple filters
- Add items to cart
- Increase or decrease quantities
- View total cart value in real time
- Purchase directly or via cart
- User or Admin registers or logs in
- System identifies role automatically
- Admin manages sweets inventory
- Users browse and filter sweets
- Items added to cart or purchased directly
- Total price updates in real time
- Checkout completes the order
cd backend
npm install
npm run devMONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_secret_keycd frontend
npm install
npm start- Real-world shop workflow implementation
- Clean and modern UI design
- Role-based access control
- Scalable backend architecture
- Responsive across all devices
- Test-driven development approach
- Order history and invoice generation
- Sales analytics dashboard
- Order tracking system
- Low-stock notifications
- Online payment gateway integration
Sachin
Software Engineer passionate about building clean, scalable web applications with strong backend logic and modern UI design.
β If you like this project, consider giving it a star on GitHub. It really helps and means a lot.