- Spring framework development with Spring Boot
- Spring Data JPA and Hibernate framework
- Spring Security for authentication and authorization
- Spring OAuth for social login with Facebook and Google
- Spring Mail for sending customer registration confirmation and order confirmation
- PayPal Checkout API for capturing payment from customer
- Google Chart API for drawing charts of sales report
- JUnit, AssertJ and Mockito in unit testing
- Spring RESTful Webservices
- Bootstrap 4, HTML5 and jQuery 3
- Amazon S3 APIs
- Deployment on Heroku (AWS)
- Back end: Admin, editor, Salesperson, Shipper, Assistant
- Front end: Visitor, customer Actors usecase:
- Admin: manage everything
- Sales person: Manage product price,customers, shipping, orders and sales report
- Editor: Manage categories, brands, products, articles and menus
- Shipper: view products, view orders and update order status
- Assistant: manage question and reviews
- Accessibility: App can be accessible from any devices connected to the internet: PC, laptop, tablet, smartphone...
- Availability: User can access apps any time, 24/7
- Security: Authentication required for all users (except visitors), Authorization required in the admin CP(editor, salesperson, shipper,...)
- Performance: Fast response time, No request take longer than 4 seconds
- Scalebility: App can be scaled on demand and running well under loads, Back-end and Front-end apps can be scaled separated
- Intuitive - nice - easy to use
- Responsive - look good on different devices
image here (update later)
- User's photo is optional
- Image files store in the file system
- Image file names are stored in the database
- Show thumbnail image in user form
- File size < 1MB
- In edit mode: delete old photos
- In production on Heroku, AWS or whatever cloud service: photos will be uploaded to Amazon S3 server
- 403: Sorry, you don't have permission to access this page
- 404: Sorry, the requested page could not be found
- 500: Sorry, the server has encountered an error while processing your request