Thank you for your interest in contributing to our project! This document provides guidelines and steps for contributing.
- Getting Started
- Development Setup
- Development Workflow
- Pull Request Process
- Code Style
- Community Guidelines
- Check our issues page for existing issues
- Issues labeled
good first issue
are perfect for newcomers - Comment on the issue you'd like to work on and ask to be assigned
If you've found a bug or have a feature suggestion:
- Check if a similar issue already exists
- If not, create a new issue using the appropriate template
- Provide a clear title and detailed description
- Wait for maintainer feedback before starting work
- For feature requests, discuss with maintainers first
- Node.js (v18 or higher)
- npm (v8 or higher)
- Git
- Click the "Fork" button at the top right of the repository page
- Clone your forked repository
git clone https://github.com/your-username/project-name.git
cd project-name
- Add the original repository as upstream
git remote add upstream https://github.com/clubgamma/club-gamma-frontend.git
- Install dependencies
npm install
- Copy the
.env.example
file to.env
cp .env.example .env
- Set up your environment variables in the
.env
file:
VITE_API_URL=http://localhost:3000
VITE_GITHUB_CLIENT_ID=your_github_client_id
To get your GitHub Client ID:
- Go to your GitHub Settings
- Navigate to "Developer settings" > "OAuth Apps" > "New OAuth App"
- Fill in the application details:
- Application name: [Your App Name]
- Homepage URL: http://localhost:5173
- Authorization callback URL: http://localhost:5173/redirect
- Click "Register application"
- Copy the generated Client ID and paste it in your
.env
file
- Ensure your fork is up-to-date
git fetch upstream
git checkout main
git merge upstream/main
- Create a new branch for your feature/fix
git checkout -b feature/your-feature-name
- Start the development server
npm run dev
-
Make your changes and test thoroughly
-
Commit your changes using conventional commits
git commit -m "feat: add new feature"
-
Before creating a PR:
- Update documentation if needed
- Ensure your branch is up-to-date with main
-
Push your changes
git push origin feature/your-feature-name
-
Create a Pull Request
- Go to your fork on GitHub
- Click "Pull Request"
- Select your branch and fill in the PR template
- Link the related issue using "Closes #123" in the description
- Add screenshots if UI changes are involved
- Request review from maintainers
-
PR Best Practices
- Keep PRs small and focused
- Write clear commit messages
- Be responsive to feedback and make requested changes
- Update your branch if needed:
git fetch upstream git rebase upstream/main git push origin feature/your-feature-name -f
- We use ESLint for code formatting
- Use JavaScript for all files
- Follow the existing code style
- Use shadcn/ui components when possible
- Follow atomic design principles
- Write unit tests for components using Vitest
bug
: Something isn't workingfeature
: New feature requestgood first issue
: Good for newcomershelp wanted
: Extra attention is neededquestion
: Further information is requesteddocumentation
: Improvements or additions to documentation
- Be respectful and inclusive
- Provide constructive feedback
- Help others who are contributing
- Follow our Code of Conduct
- Feel free to ask questions in the issue comments
- Join our Discord for real-time discussions
By contributing, you agree that your contributions will be licensed under the project's license.