Welcome! We're excited that you're interested in contributing to Daccotta, a social network for movie lovers. Whether you're here to improve the frontend or work on the entire project, your contributions are invaluable to us. Please read through this guide before making any contributions to ensure a smooth and efficient workflow.
Before contributing, please ensure that you adhere to our Code of Conduct to foster a positive and inclusive environment.
You have two ways to contribute:
If you wish to contribute only to the frontend, you don't need to set up MongoDB or auth secrets (point at a shared backend).
- Pull the latest changes from the
devbranch:git pull origin dev
- API URL Configuration:
Set the backend URL in your environment file:VITE_API_BASE_URL=https://your-backend-url VITE_ACCESS_KEY=your_tmdb_key
- Install dependencies and run the frontend:
Follow the steps in the README to install dependencies and run the frontend.
For full project contribution, you need to set up both the frontend and backend. for detailed guide refer to README.
- Pull the latest changes from the
devbranch:git pull origin dev
- Set up MongoDB:
- Create an account on MongoDB Atlas.
- Create your cluster and database.
- Add your MongoDB connection string to
server/.env:MONGO_URL=mongodb+srv://<username>:<password>@cluster0.mongodb.net/daccotta?retryWrites=true&w=majority
- Set up better-auth (see
server/.env.example):BETTER_AUTH_SECRET= # openssl rand -base64 32 BETTER_AUTH_URL=http://localhost:8080 CLIENT_URL=http://localhost:5173 - Install dependencies:
Follow the steps in the README for both frontend and backend setup.
Please follow the branching strategy to maintain consistency:
- Working on an existing issue:
- Ensure the issue is assigned to you before starting work.
- Pull the latest
devbranch. - Create a new branch with the issue number in the format
issue/issue-number-description, for example:git checkout -b issue/42-fix-login
- Creating a new feature:
- Pull the latest
devbranch. - Create a branch with the feature name in the format
feat/feature-name, for example:git checkout -b feat/group-creation
- Pull the latest
To ensure smooth collaboration, please follow these guidelines when submitting a Pull Request (PR):
- PR Title: Use a clear and concise title.
E.g.,Fix login authentication issueorAdd group creation feature. - Description: Provide a detailed description of what your PR does. Link to the related issue if applicable.
- PR Reviews: At least one reviewer must approve your PR before it is merged.
- Passing CI Checks: Ensure that all Continuous Integration (CI) checks pass before requesting a review.
- Merge Target: Always target the
devbranch for your PRs.
- Before starting work on an issue, ensure it’s assigned to you. If an issue is not assigned, leave a comment expressing your interest, and wait for it to be assigned.
- If you want to propose a new feature or enhancement, feel free to open a new issue with the tag
enhancement.
To maintain code consistency across the project, please adhere to the following:
Run the lint checks before pushing your changes:
pnpm lintFor detailed setup instructions, please refer to our README.
- Install dependencies with
pnpm installfrom the repo root. - Set environment variables for Firebase and API endpoints.
- Use Node.js 22+ and pnpm (Corepack).
- Configure MongoDB and Firebase settings in your
.envfile.
For more details, check out the README.
If you have any questions or need further assistance, feel free to:
- Open a new issue.
- Join our community discussion by leaving a comment in our issues or PRs.
Thank you for contributing to Daccotta! We appreciate your time and efforts to make this platform even better for movie lovers around the world. 🎥🍿