Skip to content

Your personal anime streaming platform. Watch your favorite series anytime, track your progress, and discover new shows - all in one place.

License

Notifications You must be signed in to change notification settings

chocoOnEstrogen/AnimeStream

Repository files navigation

🎬 AnimeStream

A modern, self-hosted anime streaming platform built with TypeScript and Express

TypeScript Express.js Node.js Discord

✨ Features

  • 🎯 Modern Interface - Clean and responsive design using Bootstrap 5
  • 🔐 Discord Authentication - Secure login through Discord OAuth2
  • 📱 Responsive Design - Works seamlessly on desktop and mobile devices
  • 🎮 Video Player Controls - Custom video player with keyboard shortcuts
  • ❤️ Favorites System - Save and manage your favorite anime
  • 📊 Progress Tracking - Automatically tracks your watching progress
  • 👥 User Management - Admin panel for user role management
  • 🎨 Theme Support - Light and dark mode support
  • 🔍 Advanced Search - Filter by type, genre, and more

🚀 Getting Started

Prerequisites

  • Node.js 16 or higher
  • TypeScript
  • A Discord application for OAuth2

Installation

  1. Clone the repository:
git clone https://github.com/chocoOnEstrogen/AnimeStream.git
  1. Install dependencies:
npm install
  1. Create a .env file:
DISCORD_CLIENT_ID=your_discord_client_id
DISCORD_CLIENT_SECRET=your_discord_client_secret
SESSION_SECRET=your_session_secret
BASE_URL=http://localhost:3000
  1. Build and start the application:
npm run build
npm start

🛠️ Configuration

The main configuration file is located at src/config.ts. Here you can configure:

  • Media directories
  • Port settings
  • Discord OAuth settings
  • Session configuration

📁 Directory Structure

src/
├── routes/          # Express route controllers
├── middleware/      # Express middleware
├── utils/          # Utility functions
├── types/          # TypeScript type definitions
├── views/          # EJS templates
└── public/         # Static files

🎮 Usage

  1. Add your anime files to the configured media directory
  2. Each anime should have an info.ini file with metadata
  3. Start the server and navigate to http://localhost:3000
  4. Log in with Discord
  5. Browse and stream your anime collection

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📝 License

This project is licensed under the GPL-3.0 License - see the LICENSE file for details.

🙏 Acknowledgments

About

Your personal anime streaming platform. Watch your favorite series anytime, track your progress, and discover new shows - all in one place.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks