hiTV is a feature-rich movie-streaming web platform that seamlessly combines a robust ASP.NET MVC architecture with cutting-edge artificial intelligence. It delivers lightning-fast page loads, intuitive navigation, and an intelligent search assistant that understands natural language queries to recommend the perfect movie.
- AI-Powered Search: Ask the built-in Gemini AI assistant to find movies based on plot, themes, or mood (e.g., "Show me sci-fi heist films").
- Robust MVC Architecture: Built on ASP.NET MVC, providing a clear separation of concerns, fast content delivery, and scalable performance.
- Personalized Experience: Features user authentication, customizable profiles, watch history tracking, and curated recommendations.
- Dynamic Content Categorization: Easily browse movies by genre, trending status, and featured lists.
- Responsive Design: A sleek, Sakura-inspired interface that works seamlessly across desktop and mobile devices.
src/hiTV.Web/: The primary ASP.NET MVC web application.src/hiTV.AIService/: The Python Flask microservice that interfaces with Google's Gemini AI to power the intelligent search features.database/: Contains the SQL scripts for setting up the database schema and initial data.data/: Contains static assets and raw movie data files.Documentation/: Detailed architectural and system design documentation.
- Web Application: .NET Framework 4.8.1, IIS (or IIS Express), SQL Server.
- AI Service: Python 3.12+,
uvpackage manager.
-
Clone the Repository
-
Configure Environment Variables Copy
.env.exampleto.envin the root folder and add your Google Gemini API key:cp .env.example .env
-
Start the AI Service You can run the AI service using the provided Makefile:
make run-ai-service
Or manually using
uv:cd src/hiTV.AIService uv run main.py -
Start the Web Application Open
src/hiTV.slnin Visual Studio, restore NuGet packages, configure your database connection string inWeb.config, and run the project (F5).
For a detailed technical overview of the system design and controllers, please see the Architecture Documentation.