![logo](/SMCaseyCode/bingehive/raw/master/src/public/assets/BingeHiveHorizontalLogo.png)
BingeHive, a dynamic and user-friendly web app designed to be your go-to destination
for all things movies and TV shows.
A movie or TV show aficionado's heaven.
BingeHive is currently live here. To get started, simply visit the site and explore around for different movies or TV shows that are available. If you already know what you are looking for, there is also a search bar to quickly jump to search for a title.
- Frontend
- HTML, CSS, and JavaScript
- Backend
- Node.js - Runtime environment for server-side JavaScript
- Express - Used for building RESTful APIs and handling routes
- Nginx - Used as a reverse proxy to reach the Node environment running the web app
- MySQL - Used for storing and managing user generated data
- Authentication
- Express Session - Used for user authentication and authorization
- Bcrypt - For hashing and salting the user passwords
- Hosting/Deployment
- AWS EC2 - Used for deploying the MySQL database and hosting the web app
- AWS S3 - Used for storing users' profile pictures
- Docker - Used for quickly deploying in a containerized environment
- Version Control
- Git - Used for tracking changes in the codebase
- Repl - Used for tracking and deploying a testing environment
- Other Tools
- MySQLWorkbench - Used to build the database schema
- IntelliJ - Used to collaborate with others in real time
- SSH - Used for server administration
- External APIs
- YouTube IFrame Player - Used to fetch movie and tv show trailers
- TMDB - Used to fetch information on movies and tv shows (e.g., titles and descriptions)
- Additional Dependencies
- Multer - Used for profile picture file uploading from the user
- Tingle - Used for modals
- Cropper - Used for cropping user selected images client side
You can explore BingeHive's code base by navigating to the src
directory found in this GitHub repository.
Alternatively, you can simply click this link
to take you there directly.
const express = require("express");
const app = express();
app.get("/", (req, res) => {
res.send("Welcome to BingeHive");
});
app.listen(3000, () => {
console.log("Server started!");
});
Currently, the generated lists can only be seen by the user that owns them. Future iterations of this web app would allow ideally to share those lists with friends and family, to create a social aspect to the web app.
Feel free to reach out to the team members who contributed to this project. We'd be happy to answer any questions or provide further information.