daccotta-org / daccotta

A social network for movies.
https://app.daccotta.com
MIT License
84 stars 42 forks source link
bun express expressjs firebase firebase-auth gssoc-ext hacktoberfest javascript mongodb movies-app-react react react-query reactjs social tanstack-query typescript

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
Stars Forks Issues Open Pull Requests Closed Pull Requests

daccotta also be a part of the community and join our discord .

This project is now OFFICIALLY accepted for Heart on Fire

Name Logo Purpose
GSSoC'2024-Extd GSSoC Logo 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 Hacktoberfest is a month-long October event welcoming all skill levels to join the open-source community.


πŸ“‘ Table of Contents

  1. 🎬 What is Daccotta?
  2. πŸ”‘ Key Features
  3. πŸ› οΈ Tech Stack
  4. πŸš€ Getting Started
  5. ❀️✨ Our Valuable Contributors
  6. 🀝 Contributing
  7. πŸ“§ Contact
  8. ⚠️ 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:

  1. πŸ‘₯ Group Creation: Form groups with friends to compare and share your movie stats.
  2. πŸ“ˆ 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:


πŸš€ 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:
    git clone https://github.com/daccotta-org/daccotta.git
  2. Navigate to the project directory:
    cd daccotta

BullseyeInstalling 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:

    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):

powershell -c "irm bun.sh/install.ps1|iex"

or paste this

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:

    cd client
  2. Install dependencies:

    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. 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:

    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:

πŸ—‚οΈ 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:

    cd ../server
    bun i
  2. 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>, 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:
      MONGO_URI=mongodb+srv://<username>:<password>@cluster0.mongodb.net/daccotta?retryWrites=true&w=majority
  3. 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. image

    • 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
  1. 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
  2. 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

[AshuKr22](https://github.com/AshuKr22) πŸ‘¨β€πŸ’»

| Sid

[Sid](https://github.com/sid0000007) πŸ‘¨β€πŸ’»

| Shubham Agarwal

[Shubham Agarwal](https://github.com/shubhagarwal1) πŸ‘¨β€πŸ’»

| Mehul

[Mehul](https://github.com/mehul-m-prajapati) πŸ‘¨β€πŸ’»

| | Alolika

[Alolika](https://github.com/alo7lika) πŸ‘©β€πŸ’»

| Daccotta

[Daccotta](https://github.com/daccotta) πŸ‘¨β€πŸ’»

| Knighthinata

[Knighthinata](https://github.com/knighthinata) πŸ‘¨β€πŸ’»

| Sourabh

[Sourabh](https://github.com/Sourabh782) πŸ‘¨β€πŸ’»

| | Samyak Aditya

[Samyak Aditya](https://github.com/samyak-aditya) πŸ‘¨β€πŸ’»

| Harsh Bhar

[Harsh Bhar](https://github.com/harshbhar0629) πŸ‘¨β€πŸ’»

| Amit Bora

[Amit Bora](https://github.com/amitb0ra) πŸ‘¨β€πŸ’»

| Mukul Kundu

[Mukul Kundu](https://github.com/mukulkundu) πŸ‘¨β€πŸ’»

| | Mayur

[Mayur](https://github.com/mayur1377) πŸ‘¨β€πŸ’»

| Ikki Ocean

[Ikki Ocean](https://github.com/IkkiOcean) πŸ‘¨β€πŸ’»

| Dhruv Pahuja

[Dhruv Pahuja](https://github.com/Dhruv-pahuja) πŸ‘¨β€πŸ’»

| Say Het

[Say Het](https://github.com/say-het) πŸ‘¨β€πŸ’»

| | Dev Rish

[Dev Rish](https://github.com/DevRish) πŸ‘¨β€πŸ’»

| Vaibhav

[Vaibhav](https://github.com/vaibhav01-git) πŸ‘¨β€πŸ’»

| Trijal Kaushik

[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.


Detective Contact

Project Admins⚑


ASHU KUMAR


SIDDHARTH GUPTA

Feel free to reach out to us for any queries or suggestions: Email: daccotta.pvt@gmail.com Website: 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!