Skip to content

A hybrid anime recommendation system that combines user preferences and content-based filtering for personalized recommendations. The system is containerized using Docker and deployed on Google Cloud Platform (GCP) with Kubernetes for scalability.

Notifications You must be signed in to change notification settings

anirudh6415/anime_recomendation_system

Repository files navigation

Anime Recommendation System

Anime Recommendation System Architecture

Overview

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.

Web App Demo

Features

  • 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.

Project Architecture

  1. Version Control & Data Management
    • Code hosted on GitHub.
    • DVC used to manage datasets and model artifacts.
  2. 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.
  3. Deployment
    • Kubernetes cluster on GCP for scaling and reliability.

Getting Started

Prerequisites

Ensure you have the following installed:

  • Python 3.8+
  • Docker
  • Kubernetes & kubectl
  • Google Cloud SDK
  • Jenkins
  • DVC

Setup Instructions

1. Clone the Repository

 git clone https://github.com/anirudh6415/anime_recommendation_system.git
 cd anime_recommendation_system

2. Setup Virtual Environment & Install Dependencies

 python -m venv venv
 source venv/bin/activate  # On Windows use: venv\Scripts\activate
 pip install --upgrade pip
 pip install -e .

3. Configure DVC & Pull Data

 dvc pull

4. Run the Web Application

 python application.py

The web app should now be accessible at http://localhost:5000.

CI/CD Pipeline

This repository includes a Jenkins pipeline that automates the deployment:

  1. Clone repository from GitHub.
  2. Setup virtual environment and install dependencies.
  3. Pull datasets and models using DVC.
  4. Build & push Docker image to GCR.
  5. Deploy application to Kubernetes.

Deployment

To manually deploy using Kubernetes:

 kubectl apply -f deployment.yaml

Contributing

Feel free to contribute by submitting a pull request or opening an issue!

License

This project is licensed under the MIT License.

About

A hybrid anime recommendation system that combines user preferences and content-based filtering for personalized recommendations. The system is containerized using Docker and deployed on Google Cloud Platform (GCP) with Kubernetes for scalability.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published