MovieNet is a movie discovery and management app, built with .NET 6 and React 18 (Vite), leveraging Clean Architecture, DDD, TMDB API, Redis, PostgreSQL, 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/KristiyanEnchev/MovieNet.gitSet your TMDB API key at https://www.themoviedb.org and add it in the .env file.
cd MovieNet/cp .env.example .envdocker-compose up --build -d- Default Account: Email: admin@admin.com, Password: 123456
- TMDB API Key: Set your TMDB API key at
https://www.themoviedb.organd add it in the.envfile. - Database: PostgreSQL. DB UI -
http://localhost:5050- Acc: admin - Pass: password - Cache: Redis is used for caching. Redis UI -
http://localhost:8081- Acc: masterauth - Pass: password - API URL:
http://localhost:5069 - UI URL:
http://localhost:3000
- .NET 6
- ASP.NET Core 6
- FluentValidation
- AutoMapper
- CQRS & MediatR
- Result Pattern for robust error handling.
- 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
- TailwindCSS
- FramerMotion
- Redux Toolkit
- Redux Toolkit Query
- React Router Dom
- FontAwesome
- Zod
- Docker & Docker Compose: Simplified containerization and orchestration.
- Nginx: High-performance reverse proxy for serving the frontend.
- Movie Search: Search and discover movies.
- Movie Sort: Sort your movies per genre.
- Trailer Preview: Watch your favorite movies trailer.
- Watchlist: Save your favorite movies to your watchlist.
- Like system: Like your favorite movies.
- Responsive Design: A seamless experience on all devices.
- High Performance: Leveraging Redis caching and Serilog logging.
- Custom Background Jobs: Efficient processing of asynchronous and scheduled tasks.
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!