GrandLibrary is a book discovery and management app, built with .NET 6 and React 18 (Vite + TypeScript), leveraging Clean Architecture, DDD, Result Pattern, Repository Pattern, Domain Events, and modern frontend technologies like TailwindCSS, shadcn/ui, and RTK Query for a dynamic and scalable user experience. It’s containerized with Docker and serves the UI through Nginx.
To run the project locally:
git clone https://github.com/engdotme/GrandLibrary.gitWe are using OpenLibrary for Book Data provider no API key needed.
cd GrandLibrary/cp .env.example .envdocker-compose up --build -d- Default Account: Email: admin@admin.com, Password: 123456
- Database: PostgreSQL. DB UI -
http://localhost:5050- Acc: admin - Pass: password - Cache: Redis is used for caching. Redis UI -
http://localhost:8081 - API URL:
http://localhost:8080 - UI URL:
http://localhost:3000
- .NET 8
- ASP.NET Core 8
- FluentValidation
- Mapster
- CQRS & MediatR
- Result Pattern for robust error handling.
- Repository Pattern
- Domain Events for better decoupling.
- Serilog for structured logging.
- Redis for caching.
- PostgreSQL as the relational database.
- Custom Background Jobs: For asynchronous tasks and scheduled operations.
- Unit Testing: xUnit, Moq, Shouldly.
- React 18
- Vite
- TypeScript
- TailwindCSS
- shadcn/ui
- FramerMotion
- Redux Toolkit
- Redux Toolkit Query
- React Router Dom
- Zod
- Docker & Docker Compose: Simplified containerization and orchestration.
- Nginx: High-performance reverse proxy for serving the frontend.
- Book Search: Search and discover books.
- Book Sort: Sort your books per genre.
- Reading Preview: Reading preview of any book and Author info.
- Watchlist: Save books to your Watchlist.
- Like System: Like and rate books.
- Responsive Design: A seamless experience on all devices.
- High Performance: Leveraging Redis caching and Serilog logging.
This project is licensed under the MIT License - see the LICENSE file for details.
Give a ⭐ if you like this project and find it helpful!



