groceru aims to be a service that allows customers to select products from their local grocery stores, enabling scheduled delivery at a time that works best for you. Drawing inspiration from the InstaCart and DoorDash services, groceru is designed for an optimal user experience and simple reliability.
- Database: TBD
- Back-End Server: Spring Boot
- Front-End Web Application: ReactJS
Some specific accomplishments for groceru development are presented below.
- Performance: lightweight page design & swift data transmission.
- Simplicity: a clean user experience for shopping or browsing.
- Testable: unit & integration tests to verify development functionality.
Some anticipated challenges for groceru development are denoted below.
- Reliability: how to anticipate problems, fallback, and recover quickly?
- Scalability: how to prepare for databases with thousands of entries?
- v0.1: Bare-bones back-end & front-end structure with basic API communication.
- databases
- products database (MongoDB?)
- plaintext & images
- product name, appearance & details summary
- product ingredients
- product instructions
- user database (SQL?)
- plaintext
- user details
- name
- age
- address
- order history
- products database (MongoDB?)
- back-end server
- Java
- Spring Boot
- front-end web application
- JavaScript
- ReactJS
- additional frameworks?
- NextJS
- Gatsby
- databases
- v0.2: User roles, permissions, authentication & application security.
- "Shopper", "Grocer" and "Admin" role hierarchy.
- Users must be logged in to progress past the landing page.
- v0.3: Users can register accounts and login.
- v0.4: Management dashboard.
- "Grocer" users can create, update & delete stock.
- "Admin" users can perform CRUD operations on stock & users.
- v0.5: 📌 Users can make basic orders by selecting from available stock.
- v0.6: Enhanced error handling.
- processing errors
- network communications
- If item not present while shopping...?
- If grocer unavailable...?
- If unexpected situation while delivering...?
- v0.7: Browser notifications.
- order status notifications
- account status notifications
- error notifications
- v0.8: Technical support communications between clients and admins.
- in-application
- via email
- via text message
- v0.9: Any outstanding refactoring, technical debt cleanup and backlog reduction.
- v1.0: The groceru service has all basic functionality implemented.
- v1.1: Payment processing & refunds.