Online Bookstore: A Case Study in Full- Stack Web Development SRS:
Spring Boot, Java, JSP, HTML, CS, JavaScript, JPA, MySQL
The scope of this project involves development of an e-commerce website called “Bookstore” a web app designed to facilitate a simple online bookstore. It requires a front-end website which is used by the customers for browsing books and placing orders, and admin for For adding books into the application, it requires a back-end database to store product, order, and user details; and it requires an application to coordinate the front-end with the back end, that performs operations on the database in response to actions performed on the website. User Stories - Customer As a customer, I would like an easy recognizable layout so I can easily browse As a customer, I want to see books details all on one page and able to add books to the cart As a customer, I want to submit my order and pay in person or by app so i can complete the transaction Pages to display picture and information for each book. Ability for user to add said books to cart Search page for user to search for specific books by name, category, scent, etc Account creation page Shopping cart page to confirm order and update/delete items/quantities. Display total Page for meeting time/place setup? User Stories - Admin As admin, be able to edit the database - add books into the database change prices. Add sales? so I can keep inventory current As admin, retrieve customer orders (probably just have them sent by email) so I can pack orders
Technologies used: Front-End:HTML5 CSS3 JavaScript JSP Back-End: MySQL Spring Data JPA via Hibernate Java Spring Boot
Non-Functional Requirements Quick query times to make sure it does not take too long to load single or multiple emails. Security to prevent private emails from being exposed to someone other than the user.
Challenges
• Creating different security authorities for admin and user
Still To Do
• Ability to Delete your account • Ability to request money from other users • Rework front end to be more appealing (things not centered etc) • Admin page to manage accounts and transactions • A form to add money to account from bank account/debit card, not just a button • Refactor project to be better organized