AniVerse is a comprehensive anime recommendation platform designed to provide users with personalized anime suggestions. The project leverages a microservices-style architecture with distinct components for the frontend, backend user management, and a machine learning-powered recommendation API.
The AniVerse project is organized into the following main directories:
frontend/
: A React-based client application for the main user interface.backend/
: A Node.js and Express-based server for handling user authentication, profiles, and ratings.api/
: A Python and Flask-based API that serves anime recommendations generated from a machine learning model.model/
: A Jupyter Notebook containing the implementation and training of the recommendation model.
- User Authentication: Secure user registration and login functionality.
- Personalized Recommendations: Get anime recommendations based on your viewing history and preferences.
- Anime Information: View detailed information about different anime series.
- Rating System: Rate anime to improve your recommendations.
- Trending Anime: Discover what's currently popular in the anime community.
- React For building modern, fast, and scalable user interfaces.
- Tailwind CSS & DaisyUI: For utility-first styling and pre-built components.
- React Router: For client-side routing within the React application.
- Context API: For state management.
- Node.js & Express: For building the RESTful API for user management.
- MongoDB: As the database for storing user data, profiles, and ratings.
- Mongoose: As the ODM for interacting with MongoDB.
- JWT (JSON Web Tokens): For secure user authentication.
- Python & Flask: For creating the recommendation API.
- Pandas, NumPy, Scikit-learn: For data manipulation and building the recommendation model.
- Collaborative & Content-Based Filtering: The core algorithms behind the recommendation engine.
To get a local copy up and running, follow these simple steps.
- Node.js and npm
- Python and pip
- MongoDB
- Clone the repo
git clone https://github.com/your_username/AniVerse.git
- Install NPM packages for the frontend
cd frontend npm install
- Install NPM packages for the backend
cd ../backend npm install
- Install Python packages for the API
cd ../api pip install -r requirements.txt
- Run the React Frontend
cd frontend npm start
- Run the Node.js Backend
cd ../backend npm start
- Run the Python API
cd ../api flask run
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.