Bookstore Ecommerce
Rouissi Mounir / August 4, 2024
This is a full-stack bookstore ecommerce application built with Spring Boot and Angular. It implements security features to protect user data and manage authentication.
Features
- Product Catalog: Display books in a grid layout.
- Shopping Cart: Add books to the shopping cart.
- User Authentication: Allow users to sign up and log in securely.
- Order History: View order history.
- Book Management: Admin interface for managing book inventory.
Technologies
- Spring Boot: A Java-based framework for building robust backend services.
- Angular: A TypeScript-based web application framework for building dynamic frontend applications.
- Spring Security: Provides authentication and authorization functionalities.
- MySQL: A relational database for storing application data.
- Bootstrap: A CSS framework for responsive and mobile-first frontend design.
Getting Started
To get started with this project, you can clone the repository and set up the backend and frontend:
git clone https://github.com/mounirrouissi/shop-app.git cd shop-app
For the backend:
cd backend ./mvnw spring-boot:run
For the frontend:
cd frontend npm install ng serve
The backend server will start at http://localhost:8080
and the frontend development server will start at http://localhost:4200
.
Security
This application implements Spring Security for authentication and authorization. It includes:
- User registration and login
- Role-based access control
- JWT (JSON Web Token) for stateless authentication
Deployment
To deploy this project, you can use a cloud platform that supports Java applications for the backend (such as Heroku or AWS) and a static hosting service for the Angular frontend (such as Netlify or Firebase Hosting).
Conclusion
This bookstore ecommerce application demonstrates how to build a secure, full-stack ecommerce platform using Spring Boot and Angular. It provides a solid foundation for managing a bookstore's inventory and customer interactions, with a focus on security and user experience.