This repository contains the Anime Recommendation System, an AI-powered web application that provides personalized anime recommendations based on user preferences. The system is built using Jenkins for CI/CD, DVC for data versioning, Docker for containerization, and Kubernetes for deployment.
- Hybrid Recommendation Model that combines user preferences and content-based methods to recommend anime.
- Web Application built with Flask.
- CI/CD Pipeline for automated deployment using Jenkins.
- Data Version Control (DVC) to manage datasets efficiently.
- Containerized Deployment using Docker and Kubernetes.
- Google Cloud Platform (GCP) for hosting and orchestration.
- Version Control & Data Management
- Code hosted on GitHub.
- DVC used to manage datasets and model artifacts.
- CI/CD Pipeline
- Jenkins automates testing, building, and deployment.
- Docker builds an application container.
- Google Container Registry (GCR) stores the container image.
- Kubernetes deploys and manages the application.
- Deployment
- Kubernetes cluster on GCP for scaling and reliability.
Ensure you have the following installed:
- Python 3.8+
- Docker
- Kubernetes & kubectl
- Google Cloud SDK
- Jenkins
- DVC
git clone https://github.com/anirudh6415/anime_recommendation_system.git
cd anime_recommendation_system
python -m venv venv
source venv/bin/activate # On Windows use: venv\Scripts\activate
pip install --upgrade pip
pip install -e .
dvc pull
python application.py
The web app should now be accessible at http://localhost:5000.
This repository includes a Jenkins pipeline that automates the deployment:
- Clone repository from GitHub.
- Setup virtual environment and install dependencies.
- Pull datasets and models using DVC.
- Build & push Docker image to GCR.
- Deploy application to Kubernetes.
To manually deploy using Kubernetes:
kubectl apply -f deployment.yaml
Feel free to contribute by submitting a pull request or opening an issue!
This project is licensed under the MIT License.