Bookstore
Create a modern web app with clean architecture using NestJS + MongoDB & ViteJS + React.
Source code Github: bookstore
Technologies
Crawl Data
- Python + Scrapy to crawl books data from other websites
Backend
- Node.js/NestJS with TypeScript
- MongoDB/Mongoose
- Cloudinary for uploading images
- Jest for testing
Front-end
- ReactJS
- ViteJS (very fast)
- Redux + Redux Thunk
- SCSS
- Cypress for testing
Features
- MongoDB for cloud database
- Testing: Unit testing, End-to-End testing with Jest & Cypress
- CI/CD: GitHub Actions
- Authentication with JWT, session, refresh token
- Social authentication with Facebook & Google auth
- Enhanced server security with helmet, csurf, rate-limit, proxy
- Email functionality with Nodemailer + Sendgrid
- Account verification and password reset with JWT token
- Image upload with NestJS/multer & Cloudinary
- Full-text search for books
- Genre-based pagination for books
- State management with Redux + Thunk (@redux/toolkit way)
- Improved SEO with react-helmet
- Lazy loading for pages & components
- Linting & formatting with ESLint + Prettier
- Documentation with Swagger/Open API