A robust and scalable backend service designed with Spring Boot, tailored for digital grocery platforms. This API-driven system enables secure user authentication, seamless cart and order management, monthly ration scheme automation, and admin-level control — all with professional-grade email integrations and autogenerated invoices.
- 🛒 Add to Cart & 🧾 Order Placement
- 📄 Autogenerated Invoice on Order Completion (PDF-ready)
- 📦 Monthly Ration Scheme Management
- 🧑💼 Admin Product Management
- 🔐 User Registration & JWT-based Authentication
- ✉️ Email OTP & 🔁 Password Reset Support
- 🧑⚖️ Role-based Authorization (User / Admin)
- 🔒 Secure Passwords with BCrypt Encryption
- 📘 Swagger UI for Interactive API Testing
- 🎨 Stylish HTML Email Templates
📦 E-Grocery-Shop-Backend
├── 📁 .idea
├── 📁 .mvn
├── 📁 src
│ └── 📁 main
│ ├── 📁 java
│ │ └── 📦 com.soumyajit.E_Grocery.Shop
│ │ ├── 📁 Advices
│ │ ├── 📁 config
│ │ ├── 📁 Controller
│ │ ├── 📁 DTOS
│ │ ├── 📁 EmailService
│ │ ├── 📁 Entities
│ │ ├── 📁 Exception
│ │ ├── 📁 NotificationService
│ │ ├── 📁 Repository
│ │ ├── 📁 Security
│ │ ├── 📁 Service
│ │ ├── 📁 Utils
│ │ └── 📄 EGroceryShopApplication.java
│ └── 📁 resources
├── 📁 test
├── 📁 target
├── 📄 .gitignore
├── 📄 HELP.md
├── 🛠️ mvnw
├── 🛠️ mvnw.cmd
└── 📄 pom.xml
git clone https://github.com/leo-soumyajit/E-Grocery-Store.git
cd E-Grocery-Store🛠 Configure Database Connection Edit the application.properties file:
spring.datasource.url=jdbc:postgresql://localhost:5432/<your_db_name>
spring.datasource.username=your_db_username
spring.datasource.password=your_db_password
server.servlet.context-path=/api/v1▶ Run the Application
./mvnw spring-boot:run📄 Access Swagger API Docs Once the server is running, open in browser:
http://localhost:8000/api/v1/swagger-ui/index.html🔗 View the full API reference in Postman Collection