Thanks for taking the time to contribute! Whether it's a bug fix, a new feature, or a typo fix in the docs, every contribution matters. Here's how to get started.
Open an issue with the bug label. Please include:
- What you expected to happen
- What actually happened
- Steps to reproduce it
The more detail you give, the faster it can get fixed.
Open an issue with the enhancement label before you start building. Let's discuss the idea first β this saves you from spending time on something that might not fit the project's direction, and helps us shape it together.
Comment on the issue you'd like to work on and we'll assign it to you. Please avoid opening a PR for an issue that's already assigned to someone else β check the issue's assignee first.
- Fork this repo
- Create your branch
git checkout -b feature/your-feature-name
- Make your changes
- Commit using conventional commits
We follow the Conventional Commits format so history stays easy to read:
git commit -m "feat: add dark mode toggle" git commit -m "fix: pomodoro timer reset bug" git commit -m "docs: update setup guide"
- Push your branch and open a Pull Request
Describe what you changed and why. Link the related issue if there is one.
New to the project? Look for issues labeled good first issue β these are scoped to be approachable for first-time contributors. Some examples of the kind of tasks you'll find:
- Add due dates to task cards
- Dark mode toggle
- Drag to reorder columns
- Add comments to tasks
- Sound alert when the Pomodoro timer ends
- Mobile-responsive layout
git clone https://github.com/YOUR_USERNAME/devboard.git cd devboard npm run install:all cp .env.example server/.env # fill in your MongoDB URI and JWT secret npm run dev
Once running, the frontend is at http://localhost:5173 and the backend API at http://localhost:5000.
No local MongoDB? Use a free MongoDB Atlas cluster instead β it takes about 2 minutes to set up and gives you a connection string to paste into server/.env.
π‘ Working on a frontend-only issue (UI, styling, components, layout)? You don't need the backend or a MongoDB URI at all β just run the client:
cd client npm install npm run devYou'll only need the full backend setup if your issue touches API routes, auth, or data persistence.
To keep the codebase consistent, please follow these conventions:
- Functional React components only β no class components
- Style with Tailwind, not custom CSS files
- Keep components small and focused on one responsibility
- Use
async/awaitβ avoid.then()chains
Before opening your Pull Request, make sure:
- My code follows the project's style guidelines
- I tested my changes locally
- I updated the README if my changes affect setup or usage
- My commit messages are clear and follow the conventional commit format
I'll review PRs within a few days. I may leave comments or request small changes β that's normal, don't sweat it! Once everything looks good, it'll get merged. π
Thank you for contributing β every PR, issue, and suggestion helps make DevBoard better for everyone! π