https://github.com/yuosef33/moviesproject
movies backend website with spring framework ,mysql DB and Redis containerized in docker containers
https://github.com/yuosef33/moviesproject
cloudinary-api docker docker-compose docker-container gemini-api java mail-sender mysql oauth2-google pagination redis spring-boot spring-security spring-security-jwt tmdb-api
Last synced: 2 months ago
JSON representation
movies backend website with spring framework ,mysql DB and Redis containerized in docker containers
- Host: GitHub
- URL: https://github.com/yuosef33/moviesproject
- Owner: yuosef33
- Created: 2025-07-04T22:19:05.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-10-20T18:03:47.000Z (8 months ago)
- Last Synced: 2025-10-20T20:17:15.863Z (8 months ago)
- Topics: cloudinary-api, docker, docker-compose, docker-container, gemini-api, java, mail-sender, mysql, oauth2-google, pagination, redis, spring-boot, spring-security, spring-security-jwt, tmdb-api
- Language: Java
- Homepage:
- Size: 5.83 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🎬 MovieAI - Smart Movie Chat & Recommendation Backend
This is a Spring Boot backend project that combines AI chat functionality with movie recommendations using external APIs such as Gemini and TMDB. It supports authentication (JWT + Google OAuth2), file upload, Redis caching, role-based access control and Spring Boot + Redis + DB inside Docker Compose 🐳 .
---
## 🚀 Features
- ✅ **User Authentication:**
- Email + Password (JWT)
- Google OAuth2 Login
- OTP verification and password reset
- 🤖 **AI Movie Chat Assistant:**
- Gemini API integration
- Stores chat history temporarily in Redis
- Context-aware movie suggestions
- 🎞️ **Movie API Integration (TMDB):**
- Fetch all movies
- Search by name or genre
- Get movie by ID
- Get all genres
- ☁️ **Redis Usage:**
- Store OTPs with TTL
- Store chat messages per user with TTL
- Store verification flows
- Config Redies Template to Store Map
- 📸 **Upload & Download:**
- Upload user image (max 10MB)
- Upload image to cloud
- Download via link
- 💬 **AI API Communication**
- Integrated with Gemini API to generate movie-related responses
- 🔒 **Secure with:**
- Spring Security + JWT
- Role-based authorization
----------------------------------------------------------------------------------------------------
.
----------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------
.
----------------------------------------------------------------------------------------------------
.
----------------------------------------------------------------------------------------------------
.