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! 🌟
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:
Bun is a fast all-in-one JavaScript runtime we use to manage the backend.
- 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 adminstrator):
powershell -c "irm bun.sh/install.ps1|iex"
or paste this
npm install -g bun
Restart all your terminals after installing bun.
refer to .env.example files for env variables
-
Clone the repository to your local machine:
git clone https://github.com/daccotta-org/daccotta.git
-
Navigate to the project directory:
cd daccotta
-
Install dependencies for both the client and server:
- Go to the client folder:
cd client bun i
- Now go to the server folder:
cd ../server bun i
- Go to the client folder:
-
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.
- After setting up, download the
firebaseConfig
and add it to your project. - Set the Firebase credentials in your
firebaseConfigEx.ts
file and rename itfirebaseConfig.ts
:
export const firebaseConfig = { apiKey: import.meta.env.VITE_API_KEY, authDomain: import.meta.env.VITE_AUTH_DOMAIN, projectId: import.meta.env.VITE_PROJECT_ID, storageBucket: import.meta.env.VITE_STORAGE_BUCKET, messagingSenderId: import.meta.env.VITE_MESSAGING_SENDER_ID, appId: import.meta.env.VITE_APP_ID, }
if you want to contribute to only fronted use this mock firebase-auth keys:
apiKey: "AIzaSyDp5LFFF9TU9W1LzB0Cus--lxBawNyBc5Q", authDomain: "mock-daccotta.firebaseapp.com", projectId: "mock-daccotta", storageBucket: "mock-daccotta.appspot.com", messagingSenderId: "586345450139", appId: "1:586345450139:web:84f82ab90882cd0fe4143e",
-
Running the 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 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: daccotta.pvt@gmail.com
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!