Connect with Movie Enthusiasts - Watch, Chat and Action!
ReelTalk is an engaging app crafted by movie lovers, for movie lovers. More than just a database, it's a community hub for sharing and discovering films. Our app brings cinema enthusiasts together, offering a space to explore trending movies, delve into favourite genres, and chat about film with peers. ReelTalk aims to redefine movie exploration and discussion, making it your essential destination for all things cinema.
- Trending Movies: Discover the latest and most popular movies, ranked by real-time user votes.
- Most Reviewed Movies: Explore films that are sparking the most conversation, featuring a selection of recent reviews.
- A comprehensive database where users can search for specific movies.
- Detailed movie information to satisfy your cinematic curiosity.
- Personalise your experience with a custom avatar.
- Track your movie journey with 'Watch' and 'Seen' lists.
- Set your movie preferences to tailor your ReelTalk experience.
- A curated list of movie suggestions based on your genre preferences and unique weighting system.
- Personalised recommendations to ensure you discover films that truly resonate with your taste.
- Easy and secure login/out process.
- Manage your account settings and preferences effortlessly.
- Connect with other users in genre-specific chat rooms.
- Discuss, debate, and share insights about movies with a community of film lovers.
# Clone the project:
git clone https://github.com/RGBlife/ReelTalk
cd ReelTalk
# Install the dependencies:
npm i
# Run the docker
docker-compose up
#Configure `.env` File:
#Add the details below, username and password can be any string you like and the database name will need to match PostgreSQL container created by default
- Example:
```makefile
POSTGRES_USER=USERNAME
POSTGRES_PASSWORD=PASSWORD
POSTGRES_DB=DATABASE_NAME
#This URL tells Prisma how to connect to your PostgreSQL database running in Docker. The format is
DATABASE_URL=postgresql://USERNAME:PASSWORD@localhost:5555/DATABASE_NAME?schema=public
# Running the application:
npm run dev
Deploying this application involves setting up a database with Supabase, configuring NextAuth for authentication, and deploying the app using Vercel. Follow these steps:
-
Create a Supabase Account: Sign up at Supabase.
-
Create a New Project: Fill in the project details, including name and password.
-
Database Setup: Use the Supabase dashboard to configure your database.
-
Get Database URL: In the 'Settings' > 'API' section, note your database URL and keys.
-
Set up NextAuth: In your application, configure NextAuth for handling authentication.
-
Generate a NextAuth Secret: Create a secure secret for NextAuth. You can generate a new secret on the command line with:
openssl rand -base64 32
-
Configure
.env
File:- Add the NextAuth secret and Supabase keys to your
.env
file. - Example:
NEXTAUTH_SECRET=your_generated_secret DATABASE_URL=your_supabase_url
- Add the NextAuth secret and Supabase keys to your
-
GitHub Repo Setup: Push your code to GitHub.
-
Create a Vercel Account: Sign up at Vercel.
-
Connect GitHub Repo to Vercel: Create a new Vercel project linked to your GitHub repo.
-
Configure Environment Variables in Vercel:
- Add the same variables from your
.env
file to Vercel's 'Environment Variables' section.
- Add the same variables from your
-
Deploy the Application: Allow Vercel to build and deploy your app.
-
Verify Deployment: Check the provided URL for your live application.
- Ensure that local and Vercel environment variables are consistent.
- Adjust build commands and settings in Vercel as needed for your specific application requirements.
Follow the deployment guides for Vercel, Netlify and Docker for more information.