https://github.com/manthanank/ott-releases
OttReleases
https://github.com/manthanank/ott-releases
ai angular gemini nodejs
Last synced: about 2 months ago
JSON representation
OttReleases
- Host: GitHub
- URL: https://github.com/manthanank/ott-releases
- Owner: manthanank
- Created: 2025-10-27T05:13:30.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-10-27T08:38:23.000Z (8 months ago)
- Last Synced: 2025-10-27T10:31:10.162Z (8 months ago)
- Topics: ai, angular, gemini, nodejs
- Language: TypeScript
- Homepage: https://ott-releases.vercel.app
- Size: 1.39 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# OttReleases
A modern web application that tracks and displays upcoming OTT (Over-The-Top) platform releases including movies, TV shows, and series. Built with Angular 20 and powered by Google Gemini AI for intelligent content discovery.
## Features
- 🎬 **Real-time OTT Releases**: Track upcoming releases across multiple platforms
- 🤖 **AI-Powered**: Uses Google Gemini AI to fetch and categorize content
- 🌙 **Dark Mode**: Built-in dark/light theme toggle
- 📱 **Responsive Design**: Optimized for desktop and mobile devices
- 🔍 **Advanced Filtering**: Filter by platform, genre, and timeframes
- 📊 **Analytics**: Visitor tracking and engagement metrics
- ⚡ **Modern Stack**: Angular 20 with signals, Tailwind CSS, and Node.js backend
## Tech Stack
### Frontend
- **Angular 20** with signals for reactive state management
- **Tailwind CSS** for styling
- **TypeScript** for type safety
- **RxJS** for reactive programming
### Backend
- **Node.js** with Express.js
- **Google Gemini AI** for content generation
- **CORS** enabled for cross-origin requests
- **Environment-based configuration**
## Getting Started
### Prerequisites
- Node.js (v18 or higher)
- Angular CLI (v20.3.4)
- Google Gemini API key
### Installation
1. **Clone the repository**
```bash
git clone
cd ott-releases
```
- **Install frontend dependencies**
```bash
npm install
```
- **Install backend dependencies**
```bash
cd backend
npm install
cd ..
```
- **Set up environment variables**
```bash
# Copy the example environment file
cp backend/.env.example backend/.env
# Edit backend/.env and add your Google Gemini API key
GEMINI_API_KEY=your_gemini_api_key_here
```
### Development
- **Start the backend server**
```bash
cd backend
npm run dev
```
The backend will run on `http://localhost:5000`
- **Start the frontend development server**
```bash
npm start
```
The application will be available at `http://localhost:4200`
### Building for Production
```bash
# Build the Angular application
ng build
# The build artifacts will be stored in the `dist/` directory
```
### Running Tests
```bash
# Run unit tests
ng test
# Run tests in watch mode
ng test --watch
```
## API Endpoints
The backend provides the following API endpoints:
- `GET /api/ott/releases` - Fetch OTT releases
- Query parameters:
- `timeframe`: "week" or "month" (default: "week")
- `limit`: Number of results (default: 20)
- `offset`: Pagination offset (default: 0)
- `sortBy`: Sort field - "release_date", "title", "platform" (default: "release_date")
- `order`: Sort order - "asc" or "desc" (default: "asc")
## Project Structure
```tree
ott-releases/
├── src/ # Angular frontend
│ ├── app/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Page components
│ │ ├── services/ # Business logic and API services
│ │ └── models/ # TypeScript interfaces
│ └── environments/ # Environment configurations
├── backend/ # Node.js backend
│ ├── src/
│ │ ├── controllers/ # API route handlers
│ │ ├── services/ # Business logic (Gemini AI integration)
│ │ ├── routes/ # Express routes
│ │ └── config/ # Configuration files
│ └── server.js # Express server entry point
└── public/ # Static assets
```
## Contributing
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Author
**Manthan Ankolekar** - [GitHub Profile](https://github.com/manthanankolekar)