Streamhaven is a free movie and series streaming website built with TypeScript. Designed for a seamless streaming experience, Streamhaven allows users to browse, search, and watch their favorite movies and TV shows effortlessly.
- User-Friendly Interface: Navigate through an intuitive and responsive design.
- Search Functionality: Quickly find movies or series with a powerful search feature.
- Watchlist: Save your favorite titles to a personalized watchlist.
- Genre Filtering: Explore movies and series by genres.
- Responsive Design: Optimized for both desktop and mobile viewing.
- TypeScript: For robust and scalable code.
- React: For building the user interface.
- Node.js: Backend services.
- Express: For handling API requests.
- MongoDB: For data storage.
- CSS3: For styling and layout.
To run Streamhaven locally, follow these steps:
-
Clone the repository:
git clone https://github.com/Jeffrey-Inyang/Streamhaven.git
-
Navigate to the project directory:
cd Streamhaven -
Install dependencies:
npm install
-
Set up the environment variables: Create a
.envfile to store your environment variables. You may need to configure the following variables:MONGODB_URI=<your_mongodb_connection_string> PORT=5000 -
Run the application:
npm start
-
Visit the website: Open your browser and go to
http://localhost:5000.
After setting up the project, you can use Streamhaven to:
- Browse Movies: On the homepage, you will see a list of trending movies.
- Search for a Movie/Series: Use the search bar at the top to find specific titles.
- Add to Watchlist: Click on the heart icon next to any title to add it to your watchlist.
- Filter by Genre: Use the genre selector to filter available titles.
To interact with the backend, you can use the following endpoints:
-
Get all movies:
GET /api/movies
-
Get a specific movie by ID:
GET /api/movies/:id
-
Search for a movie:
GET /api/movies/search?query=your_search_term
We welcome contributions to Streamhaven! Please follow these guidelines:
- Fork the repository.
- Create a feature branch:
git checkout -b feature/YourFeatureName
- Make your changes and ensure everything works as expected.
- Commit your changes:
git commit -m "Add some feature" - Push to the branch:
git push origin feature/YourFeatureName
- Open a Pull Request.
-
Issue: The application does not start:
- Ensure all environment variables are correctly set in the
.envfile. - Check if MongoDB is running and accessible.
- Ensure all environment variables are correctly set in the
-
Issue: Movies not displaying:
- Verify that your database is correctly populated with movie data.
- Check the console for any error messages.
For deploying Streamhaven to a production environment, consider using services like Heroku, Vercel, or AWS. Make sure to configure your environment variables appropriately for the production setup.
You can customize the look and feel of Streamhaven by modifying the CSS files located in the src/styles directory. Adjust colors, fonts, and layouts as needed.
This project is licensed under the MIT License. See the LICENSE file for details.
Thank you for checking out Streamhaven! We hope you enjoy exploring movies and series with our platform. For any questions or feedback, feel free to open an issue on GitHub.