A Social Network for Movie Lovers
Hey movie lovers! Welcome to Daccotta, a web app designed to simplify your movie-watching experience and make it easy to share your favorite films with friends. Think of us as your go-to social network for everything movies! 🎥🍿
Love it? 👉 Don't forget to star this repo! 🌟
also be a part of the community and join our discord .
Daccotta is a platform built for film enthusiasts to discover, and showcase their taste in movies with like-minded individuals. You can create your own lists, add journal entries of the movies you have watched and get recommendations on the basis of your lists and journal entries. Daccotta a community that brings people together through a shared love of cinema.
- 🎞️ List Creation: Create and manage your own movie lists.
- 📖 Movie Journals: Keep a personalized journal entry for every movie you watch.
- 📊 User Stats: Get insights into your movie-watching habits.
- 🤖 personalized reccomendations: Get personalized reccomendations based on your movie watching habits.
- 👥 Group Creation: Form groups with friends to compare and share your movie stats.
- 📈 Group Stats: View combined statistics and trends of your movie-watching groups.
Daccotta is built using a modern and efficient tech stack to provide the best experience for users:
- Frontend: React.js
- Styling: TailwindCSS + shadcn etc.
- Data Fetching & State Management: TanStack Query + axios.
- Backend: Bun + express
- Database: MongoDB Atlas (Cloud)
- Authentication: Firebase
To set up and run Daccotta locally, follow the steps below:
- Clone the repository to your local machine:
git clone https://github.com/daccotta-org/daccotta.git
- Navigate to the project directory:
cd daccotta
Bun is a fast all-in-one JavaScript runtime we use to manage both the frontend and backend. You'll need to install Bun before proceeding with any setup.
-
Open your terminal.
-
Run the following command to install Bun:
curl -fsSL https://bun.sh/install | bash -s "bun-v1.1.27"
-
Restart all your terminals after installing bun.
To install, paste this into a powershell (run powershell as administrator):
powershell -c "irm bun.sh/install.ps1|iex"
or paste this
npm install -g bun
Restart all your terminals after installing bun inclduing vscode.
If you only want to contribute to the frontend, follow these steps:
-
Navigate to the client folder:
cd client
-
Install dependencies:
bun i
-
Create a
.env
file in theclient
directory and paste the following content:VITE_ACCESS_KEY= "your tmdb key" VITE_API_KEY=AIzaSyDp5LFFF9TU9W1LzB0Cus--lxBawNyBc5Q VITE_AUTH_DOMAIN=mock-daccotta.firebaseapp.com VITE_PROJECT_ID=mock-daccotta VITE_STORAGE_BUCKET=mock-daccotta.appspot.com VITE_MESSAGING_SENDER_ID=586345450139 VITE_APP_ID=1:586345450139:web:84f82ab90882cd0fe4143e VITE_API_BASE_URL=https://daccotta-5loj.onrender.com
-
You still need to setup your tmdb account and get an API key from them , its free and takes just 5 mins. refer to their docs. if you still face any issues contact to the maintainers of the repo we may be able to provide you with a test key.
-
Start the frontend development server:
bun run dev
-
Your frontend should now be running at
http://localhost:5173
.
You can use the following test account to log in:
- Email: [email protected]
- Password: 12345678
If you're setting up the full stack, continue with these steps:
refer to .env.example files for env variables
-
Install dependencies for the server:
cd ../server bun i
-
Setting Up MongoDB Atlas:
- Visit the MongoDB Atlas website and sign up for an account.
- After logging in, create a new project, then click on Build a Cluster to set up a free-tier cluster.
- Once your cluster is ready, click Connect, then choose Connect your application.
- Copy the connection string provided. It will look something like this:
mongodb+srv://<username>:<password>@cluster0.mongodb.net/myFirstDatabase?retryWrites=true&w=majority
- Replace
<username>
,<password>
, andmyFirstDatabase
with your actual MongoDB Atlas username, password, and the database name you wish to use. - Set the
MONGO_URL
in your project's.env
file with the copied connection string:MONGO_URI=mongodb+srv://<username>:<password>@cluster0.mongodb.net/daccotta?retryWrites=true&w=majority
-
Setting Up Firebase:
-
Go to the Firebase Console and create a new project. for sign in providers select - email/password.
-
After registering your Node.js app, Firebase will provide your app's configuration object code. This code includes your API keys and other project-specific details.
-
Set the Firebase credentials in your
client/.env
file as above , refer to .env.example.:VITE_ACCESS_KEY= "your tmdb key" VITE_API_KEY= VITE_AUTH_DOMAIN= VITE_PROJECT_ID= VITE_STORAGE_BUCKET= VITE_MESSAGING_SENDER_ID= VITE_APP_ID= VITE_API_BASE_URL=https://localhost:8080
-
- After setting up, To access the service account, head over to your Firebase console, click on the Settings icon in the top-left corner of the developer console, and select Project Settings. Then, select the Service Account tab, and click on Generate new private key, place it in your server folder.
-
Running the Full Stack Project:
- Return to the root directory:
cd ..
- Install all dependencies at the root level:
bun i
- Start both frontend and backend with:
bun start:all
- Return to the root directory:
-
Your full stack app should now be running! 🎉 Open your browser and go to
http://localhost:5173
.
We'd love your help to make Daccotta even better! If you're interested in contributing, please read CONTRIBUTION GUIDE.
Feel free to reach out to us for any queries or suggestions:
Email: [email protected]
Website: daccotta.com
Daccotta uses TMDB and the TMDB APIs but is not endorsed, certified, or otherwise approved by TMDB.
Made with ❤️ by movie lovers for movie lovers!