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! π
π Stars | π΄ Forks | π Issues | π Open PRs | π Close PRs |
also be a part of the community and join our discord .
- π¬ What is Daccotta?
- π Key Features
- π οΈ Tech Stack
- π Getting Started
- β€οΈβ¨ Our Valuable Contributors
- π€ Contributing
- π§ Contact
β οΈ Attribution
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.
-
In the Authentication section of your Firebase project in the console, ensure that you have enabled the Email/Password sign-in method under
Sign-in Method
. -
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=http://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, rename that file to
firebases.json
and 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
.
Contributor | Contributor | Contributor | Contributor |
---|---|---|---|
AshuKr22 π¨βπ» |
Sid π¨βπ» |
Shubham Agarwal π¨βπ» |
Mehul π¨βπ» |
Alolika π©βπ» |
Daccotta π¨βπ» |
Knighthinata π¨βπ» |
Sourabh π¨βπ» |
Samyak Aditya π¨βπ» |
Harsh Bhar π¨βπ» |
Amit Bora π¨βπ» |
Mukul Kundu π¨βπ» |
Mayur π¨βπ» |
Ikki Ocean π¨βπ» |
Dhruv Pahuja π¨βπ» |
Say Het π¨βπ» |
Dev Rish π¨βπ» |
Vaibhav π¨βπ» |
Trijal Kaushik π¨βπ» |
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!