Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/daccotta-org/daccotta
A social network for movies.
https://github.com/daccotta-org/daccotta
bun express expressjs firebase firebase-auth gssoc-ext hacktoberfest javascript mongodb movies-app-react react react-query reactjs social tanstack-query typescript
Last synced: about 23 hours ago
JSON representation
A social network for movies.
- Host: GitHub
- URL: https://github.com/daccotta-org/daccotta
- Owner: daccotta-org
- License: mit
- Created: 2024-06-25T08:32:51.000Z (6 months ago)
- Default Branch: dev
- Last Pushed: 2024-12-16T12:00:30.000Z (7 days ago)
- Last Synced: 2024-12-20T23:52:41.494Z (3 days ago)
- Topics: bun, express, expressjs, firebase, firebase-auth, gssoc-ext, hacktoberfest, javascript, mongodb, movies-app-react, react, react-query, reactjs, social, tanstack-query, typescript
- Language: TypeScript
- Homepage: https://app.daccotta.com
- Size: 53 MB
- Stars: 84
- Watchers: 0
- Forks: 42
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
Daccotta π
**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
---
![daccotta](https://github.com/user-attachments/assets/120ce0eb-7009-448c-a5da-f4b7432db6e0)
also be a part of the community and join our [discord](https://discord.gg/R859peEW) .### This project is now OFFICIALLY accepted for
| Name | Logo | Purpose |
| ------------------ | ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| GSSoC'2024-Extd | ![GSSoC Logo](Images/GSSoC-Ext.png) | The coding period is from October 1st to October 30th, during which contributors make contributions and earn points on the platform. |
| Hacktoberfest 2024 | ![Hacktoberfest Logo](Images/hacktoberfest.png) | Hacktoberfest is a month-long October event welcoming all skill levels to join the open-source community. |---
## π Table of Contents
1. [π¬ What is Daccotta?](#-what-is-daccotta)
2. [π Key Features](#-key-features)
- [π§ Coming Soon Features](#coming-soon)
3. [π οΈ Tech Stack](#οΈ-tech-stack)
4. [π Getting Started](#-getting-started)
- [ποΈ Setting Up Daccotta Repository](#οΈ-setting-up-daccotta-repository)
- [π§ Installing Bun](#installing-bun)
- [π For macOS](#for-macos)
- [πͺ For Windows](#for-windows)
- [π₯οΈ Frontend-Only Setup](#οΈ-frontend-only-setup)
- [ποΈ Setting Up Full Stack Daccotta](#οΈ-setting-up-full-stack-daccotta-client--server)
- [πΎ Setting Up MongoDB Atlas](#setting-up-mongodb-atlas)
- [π Setting Up Firebase](#setting-up-firebase)
- [βοΈ Running the Full Stack Project](#running-the-full-stack-project)
5. [β€οΈβ¨ Our Valuable Contributors](#our-valuable-contributors-οΈ)
6. [π€ Contributing](#-contributing)
7. [π§ Contact](#-contact)
8. [β οΈ Attribution](#οΈ-attribution)## π¬ What is Daccotta?
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.---
## π Key Features
1. **ποΈ List Creation**: Create and manage your own movie lists.
2. **π Movie Journals**: Keep a personalized journal entry for every movie you watch.
3. **π User Stats**: Get insights into your movie-watching habits.
4. **π€ personalized reccomendations**: Get personalized reccomendations based on your movie watching habits.#### **Coming Soon**:
5. **π₯ Group Creation**: Form groups with friends to compare and share your movie stats.
6. **π Group Stats**: View combined statistics and trends of your movie-watching groups.---
## π οΈ Tech Stack
Daccotta is built using a modern and efficient tech stack to provide the best experience for users:
- **Frontend**: React.js
- **Styling**: TailwindCSS + [shadcn](https://shadcn.dev/) etc.
- **Data Fetching & State Management**: [TanStack Query](https://tanstack.com/query) + axios.
- **Backend**: Bun + express
- **Database**: MongoDB Atlas (Cloud)
- **Authentication**: Firebase---
## π Getting Started
To set up and run **Daccotta** locally, follow the steps below:
### ποΈ Setting Up Daccotta Repository
1. Clone the repository to your local machine:
```bash
git clone https://github.com/daccotta-org/daccotta.git
```
2. Navigate to the project directory:
```bash
cd daccotta
```### Installing Bun
**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.
#### For macOS:
1. Open your terminal.
2. Run the following command to install Bun:```bash
curl -fsSL https://bun.sh/install | bash -s "bun-v1.1.27"
```3. Restart all your terminals after installing bun.
#### For Windows:
To install, paste this into a powershell (run powershell as administrator):
```bash
powershell -c "irm bun.sh/install.ps1|iex"
```or paste this
```bash
npm install -g bun
```**Restart all your terminals after installing bun inclduing vscode.**
### π₯οΈ Frontend-Only Setup
If you only want to contribute to the frontend, follow these steps:
1. Navigate to the client folder:
```bash
cd client
```2. Install dependencies:
```bash
bun i
```3. Create a `.env` file in the `client` 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
```4. 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](https://developer.themoviedb.org/docs/getting-started). if you still face any issues contact to the maintainers of the repo we may be able to provide you with a test key.
5. Start the frontend development server:
```bash
bun run dev
```6. Your frontend should now be running at `http://localhost:5173`.
#### Test Account Credentials
You can use the following test account to log in:
- Email: [email protected]
- Password: 12345678### ποΈ Setting Up Full Stack Daccotta (Client & Server)
If you're setting up the full stack, continue with these steps:
refer to .env.example files for env variables
1. Install dependencies for the server:
```bash
cd ../server
bun i
```2. **Setting Up MongoDB Atlas**:
- Visit the [MongoDB Atlas website](https://www.mongodb.com/cloud/atlas) 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:
```bash
mongodb+srv://:@cluster0.mongodb.net/myFirstDatabase?retryWrites=true&w=majority
```
- Replace ``, ``, and `myFirstDatabase` 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:
```bash
MONGO_URI=mongodb+srv://:@cluster0.mongodb.net/daccotta?retryWrites=true&w=majority
```3. **Setting Up Firebase**:
- Go to the [Firebase Console](https://console.firebase.google.com/) 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.
![image](https://github.com/user-attachments/assets/59ae730b-01da-440a-8e31-6d9aecb4b2b9)- 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.
![image](https://github.com/user-attachments/assets/085081d6-3eb1-4018-99ad-cfcf8c7d1a83)5. **Running the Full Stack Project**:
- Return to the root directory:
```bash
cd ..
```
- Install all dependencies at the root level:
```bash
bun i
```
- Start both frontend and backend with:
```bash
bun start:all
```6. Your full stack app should now be running! π Open your browser and go to `http://localhost:5173`.
---
## Our Valuable Contributors β€οΈβ¨
| Contributor | Contributor | Contributor | Contributor |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
[AshuKr22](https://github.com/AshuKr22) π¨βπ»
|
[Sid](https://github.com/sid0000007) π¨βπ»
|
[Shubham Agarwal](https://github.com/shubhagarwal1) π¨βπ»
|
[Mehul](https://github.com/mehul-m-prajapati) π¨βπ»
|
|
[Alolika](https://github.com/alo7lika) π©βπ»
|
[Daccotta](https://github.com/daccotta) π¨βπ»
|
[Knighthinata](https://github.com/knighthinata) π¨βπ»
|
[Sourabh](https://github.com/Sourabh782) π¨βπ»
|
|
[Samyak Aditya](https://github.com/samyak-aditya) π¨βπ»
|
[Harsh Bhar](https://github.com/harshbhar0629) π¨βπ»
|
[Amit Bora](https://github.com/amitb0ra) π¨βπ»
|
[Mukul Kundu](https://github.com/mukulkundu) π¨βπ»
|
|
[Mayur](https://github.com/mayur1377) π¨βπ»
|
[Ikki Ocean](https://github.com/IkkiOcean) π¨βπ»
|
[Dhruv Pahuja](https://github.com/Dhruv-pahuja) π¨βπ»
|
[Say Het](https://github.com/say-het) π¨βπ»
|
|
[Dev Rish](https://github.com/DevRish) π¨βπ»
|
[Vaibhav](https://github.com/vaibhav01-git) π¨βπ»
|
[Trijal Kaushik](https://github.com/trijalkaushik) π¨βπ»
| |## Contributing
We'd love your help to make **Daccotta** even better! If you're interested in contributing, please read [CONTRIBUTION GUIDE](./CONTRIBUTING.md).
---
## Contact
### Project Adminsβ‘
ASHU KUMAR
SIDDHARTH GUPTA
Feel free to reach out to us for any queries or suggestions:
**Email**: [email protected]
**Website**: [daccotta.com](https://daccotta.com)---
## β οΈ Attribution
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!**
---