Welcome to the Movie Database Application, a C#.NET 6 based project leveraging WPF for the frontend, Rabbit MQ for messaging, and a Windows Service for the backend. This application follows the Model-View-ViewModel (MVVM) pattern to separate concerns, enhance maintainability, and improve the user experience.
- List of Movies: View titles, genres, years, and ratings. Search functionality included with an option for autocomplete.
- Movie Details: Access detailed information about movies, including title, year, rating, and description.
- Category Filtering: Filter movies by categories using a multi-select control.
- Robust Backend: Utilizes Rabbit MQ for message-based communication between the frontend and backend, ensuring a responsive and scalable application.
- C#.NET 6
- Windows Presentation Foundation (WPF)
- Rabbit MQ
- Windows Services
This application is designed incrementally with a focus on read-only views initially. The architecture includes a WPF frontend application that communicates with a backend service through Rabbit MQ. The backend service runs as a Windows service, managing business logic and data access.
- .NET 6 SDK
- Docker
- Run Rabbit MQ in docker:
docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:management
- Clone the repository:
git clone https://github.com/BreakTheSilence/MovieApp
- Navigate to the project directory:
cd [project-directory]
- Publish the Windows service:
Publish the app using
dotnet publish --output "C:\custom\publish\directory"
- Create the Windows Service with PowerShell
sc.exe create "Movie Service" binpath="C:\Path\To\MovieApp.MovieBackend.exe"
- Build the application:
dotnet build
- Run the WPF Application:
dotnet run --project MovieAppWpf
This project is licensed under the MIT License.