Skip to content

Repository files navigation

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:

  • Frontend: React.js
  • Styling: TailwindCSS + shadcn etc.
  • Data Fetching & State Management: TanStack Query + axios.
  • Backend: Node.js + Express
  • Package manager: pnpm (workspaces)
  • Database: MongoDB Atlas (Cloud)
  • Authentication: better-auth (email + password)

πŸš€ 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 Node.js + pnpm

Daccotta uses Node.js 22+ and pnpm workspaces for the client and server.

For macOS:

  1. Install Node.js 22 (via nvm or nodejs.org).

  2. Enable pnpm with Corepack:

    corepack enable
    corepack prepare pnpm@10.4.1 --activate

For Windows:

  1. Install Node.js 22 from nodejs.org.

  2. In PowerShell (or your terminal):

    corepack enable
    corepack prepare pnpm@10.4.1 --activate

πŸ–₯️ Frontend-Only Setup

If you only want to contribute to the frontend, follow these steps:

  1. From the repo root, install workspace dependencies:

    pnpm install
  2. Create a .env file in the client directory:

    VITE_ACCESS_KEY=your_tmdb_key
    VITE_API_BASE_URL=https://your-backend-url
    
  3. 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.

  4. Start the frontend development server:

    pnpm --filter client dev
  5. Your frontend should now be running at http://localhost:5173.

πŸ—‚οΈ 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. From the repo root, install all workspace dependencies:

    pnpm install
  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 server/.env:
      MONGO_URL=mongodb+srv://<username>:<password>@cluster0.mongodb.net/daccotta?retryWrites=true&w=majority
  3. Setting Up Auth (better-auth):

    Auth is self-hosted via better-auth (email + password). No Firebase project is required.

    In server/.env:

    BETTER_AUTH_SECRET=   # openssl rand -base64 32
    BETTER_AUTH_URL=http://localhost:8080
    CLIENT_URL=http://localhost:5173
    MONGO_URL=...

    In client/.env:

    VITE_ACCESS_KEY=your_tmdb_key
    VITE_API_BASE_URL=http://localhost:8080
  4. Running the Full Stack Project:

    • From the root directory, start both frontend and backend with:
      pnpm start:all
  5. 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 πŸ‘¨β€πŸ’»

Sid

Sid πŸ‘¨β€πŸ’»

Shubham Agarwal

Shubham Agarwal πŸ‘¨β€πŸ’»

Mehul

Mehul πŸ‘¨β€πŸ’»

Alolika

Alolika πŸ‘©β€πŸ’»

Daccotta

Daccotta πŸ‘¨β€πŸ’»

Knighthinata

Knighthinata πŸ‘¨β€πŸ’»

Sourabh

Sourabh πŸ‘¨β€πŸ’»

Samyak Aditya

Samyak Aditya πŸ‘¨β€πŸ’»

Harsh Bhar

Harsh Bhar πŸ‘¨β€πŸ’»

Amit Bora

Amit Bora πŸ‘¨β€πŸ’»

Mukul Kundu

Mukul Kundu πŸ‘¨β€πŸ’»

Mayur

Mayur πŸ‘¨β€πŸ’»

Ikki Ocean

Ikki Ocean πŸ‘¨β€πŸ’»

Dhruv Pahuja

Dhruv Pahuja πŸ‘¨β€πŸ’»

Say Het

Say Het πŸ‘¨β€πŸ’»

Dev Rish

Dev Rish πŸ‘¨β€πŸ’»

Vaibhav

Vaibhav πŸ‘¨β€πŸ’»

Trijal Kaushik

Trijal Kaushik πŸ‘¨β€πŸ’»

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!