MovieHUB is a powerful and feature-rich movie and TV show streaming platform built with Node.js and Express. It provides a seamless experience for users to watch their favorite movies and TV shows online.
- 🎥 Stream movies and TV shows
- 📺 Multiple streaming servers for each content
- 🌟 User ratings and reviews system
- ❤️ Favorite content management
- 🔍 Advanced search functionality
- 👤 User authentication and profiles
- 🎨 Beautiful and responsive UI
- 🛡️ Admin panel for content management
- 📱 Mobile-friendly design
- 👥 Credits system for technicians, designers, and translators
- 👁️ Watch count tracking system
- 🌐 Social media integration
- Backend: Node.js, Express
- Database: SQLite3
- Template Engine: EJS
- Authentication: Express Session
- File Upload: Multer
- Password Hashing: bcryptjs
- Styling: Custom CSS with responsive design
-
Clone the repository:
git clone https://github.com/Akar1881/MovieHUB.git cd moviehub
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Visit
http://localhost:3000
in your browser
The application uses a config.json
file for configuration. Create it in the root directory:
{
"site": {
"name": "MovieHub",
"description": "Watch your favorite movies and TV shows",
"logo": "/images/logo.png"
},
"theme": {
"primary": "#FFD700",
"background": "#1A1A1A",
"text": "#FFFFFF",
"secondary": "#333333"
},
"admin": {
"email": "[email protected]",
"password": "admin123",
"username": "admin"
},
"upload": {
"poster": {
"width": 1200,
"height": 1809
},
"allowedTypes": ["image/jpeg", "image/png"]
},
"social": {
"telegram": "https://t.me/moviehub",
"facebook": "https://facebook.com/moviehub",
"instagram": "https://instagram.com/moviehub",
"contact": "mailto:[email protected]"
}
}
To disable any social media link, set its value to "null" in the config.
moviehub/
├── config.json
├── database/
├── src/
│ ├── database.js
│ ├── index.js
│ ├── public/
│ │ ├── css/
│ │ ├── images/
│ │ └── uploads/
│ ├── routes/
│ │ ├── admin.js
│ │ ├── api.js
│ │ ├── auth.js
│ │ ├── movies.js
│ │ ├── tvshows.js
│ │ └── users.js
│ └── views/
│ ├── admin/
│ ├── auth/
│ ├── movies/
│ ├── tvshows/
│ ├── users/
│ └── partials/
└── package.json
-
Browse Content
- View latest movies and TV shows
- Search by title
- Filter by genre, type, and rating
- Sort by various criteria
- Track view counts for popular content
-
Watch Content
- Multiple streaming servers
- Continue watching feature
- Full-screen mode
- View count tracking
-
User Features
- Create an account
- Add reviews and ratings
- Save favorites
- Manage profile
-
Credits Information
- View technicians who worked on the content
- See poster designers' credits
- Check translators who provided subtitles
- Scrollable credits list for large teams
-
Content Management
- Add/edit/delete movies and TV shows
- Manage streaming servers
- Upload posters
- Organize content by genre
-
Credits Management
- Add/edit technicians for each content
- Manage poster designers' credits
- Update translators' information
- Easy-to-use interface for managing credits
-
User Management
- View user list
- Manage user roles
- Remove inappropriate reviews
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a new branch:
git checkout -b feature-name
- Make your changes
- Commit your changes:
git commit -m 'Add some feature'
- Push to the branch:
git push origin feature-name
- Submit a pull request
Please make sure to:
- Follow the existing code style
- Add comments for new functions
- Update documentation if needed
- Test your changes thoroughly
This project is licensed under the MIT License - see the LICENSE file for details.
If you have any questions or need help, please:
- Check the issues page
- Create a new issue if needed
- Join our community discussions
- Thanks to all contributors
- Special thanks to the open-source community
- Icon pack by FontAwesome