December 2023
Bookstore
Bookstore is a books e-commerce. In it you can find all the basic functionalities of an e-commerce. This project has been developed to continue learning and practicing both in frontend development and backend development trying to make a project as similar as possible to a real project.
Links of interest
- Frontend repository: https://github.com/jordigd20/bookstore-angular
- Backend repository: https://github.com/jordigd20/bookstore
- Website: https://bookstore-jgd.vercel.app/
- API documentation: https://bookstore-jgd.up.railway.app/api
Objective
The main objective of this project was to develop an e-commerce from scratch, using technologies in the backend that I had not used before such as NestJS, Prisma and PostgreSQL. In addition, Stripe has also been used for the management of user payments.
Regarding the frontend part, Angular v16.0 and TailwindCSS have been used to develop the user interface.
System architecture
![Bookstore system architecture](https://res.cloudinary.com/demz9lbb3/image/upload/v1721067758/bookstore/drmhxigw5fekilp2arl5.webp)
Features
- Authentication: Users can register and log in to the application.
- Google OAuth: Users can use Google to log in.
- Search for books: Users can search for books and filter them according to different criteria.
- Shopping cart: Users can add books to the shopping cart.
- Purchase of books: Users can buy books through Stripe with a test card.
- Wishlist: Users can add books to their wishlist to buy them later.
- Rating of books: Users can rate the books they have purchased.
- Order management: Users can see all the orders they have placed and their status.
- User management: Users can view and modify their personal data and addresses.