Buckito is a cutting-edge movie recommendation website designed to offer personalized movie suggestions. Utilizing a robust combination of the MERN stack and FastAPI microservices, Buckito taps into a database of over 10,000 movies from TMDB to deliver real-time, user-specific movie recommendations through collaborative and content-based filtering.
- Extensive Movie Database: Access to over 10,000 movies from the TMDB database for varied and extensive recommendations.
- Advanced Recommendation Algorithms: Utilizes both collaborative filtering and content-based methods to predict movies that users will love.
- Realtime Predictions: Leverage the speed of FastAPI to provide real-time movie predictions.
- Optimized Backend: GraphQL implementation ensures fast backend performance with minimal network data flow.
- Continuous Integration and Deployment: Integrated CI/CD pipeline using Heroku, streamlined from Git repository.
- Frontend: React (part of the MERN stack)
- Backend: Node.js with Express (part of the MERN stack), FastAPI for microservices
- Database: MongoDB (part of the MERN stack)
- API: GraphQL
- CI/CD: Heroku
- Data Source: TMDB
- Node.js
- MongoDB
- Python with FastAPI
-
Clone the repository:
git clone https://github.com/yourusername/buckito.git cd buckito
-
Install NPM packages for the frontend and backend:
npm install
-
Set up your Python environment for FastAPI and install dependencies:
pip install fastapi uvicorn
-
Enter your environment variables in
.env
:MONGO_URI="your_mongodb_uri" TMDB_API_KEY="your_tmdb_api_key"
-
Start the backend and frontend servers:
npm start # For MERN backend and React frontend uvicorn main:app --reload # For FastAPI service
-
Navigate to
localhost:3000
in your browser for the frontend.
Explore the website to get personalized movie recommendations. The more you interact, the better the predictions get, thanks to our sophisticated recommendation algorithms.
We welcome contributions to make Buckito even better. Follow these steps to contribute:
- 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.
Project Link: https://www.buckito.hashigma.com