GroStore application based on Spring: Boot, MVC, Data JPA, Flyway, Security (OAuth); Jackson; Vue; NuxtJs.
REST module
- Add swagger JSON api doc
- Add account register controller
- Create ucoz products parser from backup
- Make edit/create methods default-secured (for admin only)
Model
- Add product ingredients, barcode, weight
- Add analytics to entities
- Add "also buy" and "recommended" products
- Add product brands
Frontend Init NuxtJS SPA with SSR in universal mode.
- Add example main page
- Add Vuex store and routes by project folders
- Setup axios and auth
Update Spring versions
Model
- Change DB model to autogenerated by Hibernate and copy it to Flyway db/migration
- Move up 'created', 'updated', 'createdBy', 'updatedBy' fields to AbstractNamedEntity
- Add Spring Data JPA auditing
- Add entity images to AbstractDescribedEntity
- Add product modifications
Test Add MockMVC for tests.
REST module. Add described model for publishing articles and SEO items
Frontend
- Add basic auth
- Add simple main page, login and registration
Security module. Add JWT authentication and account roles
REST module
- Add price entities and price converters (income, sold, wholesale)
- Add price rules for calculating prices
Scheduler module. Change scheduler logic, add price parsing to scheduler.
REST module
- All REST API calls should be authorized under ADMIN role
- Move configuration properties from classpath to external YAML file
- Add uCoz products synchronize controller
Scheduler module. Scheduler module now can persist images which was downloaded while parsing products
Model module
- Add models validators
- Add Flyway DB migrations
- Add product Stock entity, and ProductInStock with shelf, there the product stocked in
Admin module. Add scheduled tasks for product parsing
Scheduler module. Scheduler module parse products from remote sites of popular grocery retailers
Security module. Add Spring Securiity OAuth2. Now users can register with Google account
Admin module. Web application for managing products and categories
Admin module. Provide import of products and categories from .xls/.xlsx files.