Thank you for your interest in contributing to DevEvent Tracker!
DevEvent Tracker is a community-driven platform that helps developers discover and track hackathons, conferences, workshops, meetups, open-source programs, and other opportunities they shouldn't miss.
Whether you're fixing bugs, improving the UI, adding features, enhancing accessibility, or improving documentation, your contributions are highly appreciated.
- Code of Conduct
- Getting Started
- Development Setup
- Project Structure
- Contribution Areas
- Branch Naming Conventions
- Coding Standards
- Commit Message Guidelines
- Pull Request Process
- Reporting Issues
- Good First Contributions
- Need Help?
By participating in this project, you agree to:
- Be respectful and inclusive.
- Welcome contributors of all experience levels.
- Provide constructive feedback.
- Collaborate professionally and positively.
Click the Fork button on GitHub.
git clone https://github.com/YOUR_USERNAME/DevEvent_Tracker.git
cd DevEvent_Trackergit remote add upstream https://github.com/niharika-mente/DevEvent_Tracker.gitVerify remotes:
git remote -vExpected output:
origin https://github.com/YOUR_USERNAME/DevEvent_Tracker.git
upstream https://github.com/niharika-mente/DevEvent_Tracker.git
Before starting new work:
git fetch upstream
git checkout main
git merge upstream/main| Tool | Version |
|---|---|
| Node.js | 18+ |
| npm | Latest |
| Git | Latest |
npm installnpm run devAlternatively:
yarn devor
pnpm devor
bun devOpen:
http://localhost:3000
The page automatically reloads whenever you make changes.
Typical Next.js App Router structure:
DevEvent_Tracker/
│
├── app/
│ ├── page.tsx
│ ├── layout.tsx
│ └── ...
│
├── public/
│
├── components/
│
├── styles/
│
├── package.json
├── tsconfig.json
├── next.config.ts
└── README.md
Structure may evolve as the project grows.
We welcome contributions in:
- UI/UX improvements
- Responsive design
- Accessibility enhancements
- Component optimization
- Dark mode support
- Event filtering
- Event categorization
- Search improvements
- Event bookmarking
- Calendar integrations
- Next.js optimization
- Lazy loading
- Image optimization
- SEO improvements
- README improvements
- Setup guides
- Contribution guides
- Code documentation
Never commit directly to main.
Create a dedicated branch:
git checkout -b feature/your-feature-nameExamples:
feature/event-search
feature/calendar-integration
feature/dark-mode
bugfix/mobile-layout
bugfix/navbar-overflow
docs/update-readme
style/homepage-redesign
refactor/event-card-component
- Use TypeScript whenever possible.
- Prefer explicit types.
- Avoid unnecessary use of
any.
- Use functional components.
- Keep components reusable.
- Follow Next.js App Router conventions.
- Avoid duplicate logic.
- Maintain consistent spacing and layout.
- Ensure responsiveness across devices.
- Keep UI clean and accessible.
This project enforces Conventional Commits via commitlint + Husky. Invalid commit messages are rejected automatically.
type(scope): short description
[optional body]
[optional footer]
| Type | Use for |
|---|---|
feat |
New feature |
fix |
Bug fix |
docs |
Documentation only |
style |
Formatting, whitespace |
refactor |
Code change, no feature/fix |
perf |
Performance improvement |
test |
Adding or fixing tests |
build |
Build system, dependencies |
ci |
CI/CD config changes |
chore |
Maintenance tasks |
revert |
Revert a previous commit |
- Description must be lowercase
- Description must be 72 characters or less
- No period at the end
- Prefer imperative mood: use "add" rather than "added" or "adds" (not enforced by commitlint)
- Scope must be kebab-case if provided
feat(events): add category filtering
fix(navbar): resolve mobile menu overflow on small screens
docs(readme): improve setup instructions
refactor(cards): simplify event card rendering logic
feat(auth)!: replace session tokens with JWT
BREAKING CHANGE: clients must update Authorization header format.
fix(booking): prevent duplicate submissions
Debounce was missing on the submit handler, causing multiple
API calls on rapid clicks.
Fixes #102
# No type prefix
updated navbar
# Vague description
fix: fixed it
# Wrong tense (use imperative mood)
feat: added dark mode
# Description starts with uppercase
fix: Resolve login bug
# Description too long (over 72 chars)
feat: add a new feature that allows users to export their data in multiple formats including CSV and JSON
# Invalid type
update(ui): change button color
Use ! after type/scope, and add a BREAKING CHANGE footer:
feat(api)!: change event response format
BREAKING CHANGE: Response now includes a nested `meta` object.
Update all clients reading the flat structure.
Ensure:
- Project builds successfully
- No TypeScript errors
- No linting issues
- UI works on desktop and mobile
- Documentation updated if needed
- Changes are tested locally
git push origin your-branch-nameOpen a Pull Request against the main branch.
Include:
- What changed
- Why it changed
- Screenshots (for UI updates)
- Related issue number
Example:
feat(events): add advanced search filters
Fixes #25
Before submitting:
- Code follows project standards
- No console errors
- Responsive design verified
- No unused dependencies added
- Documentation updated
- Related issue linked
When reporting bugs, please include:
- Clear title
- Steps to reproduce
- Expected behavior
- Actual behavior
- Browser information
- Screenshots (if applicable)
- Console errors (if available)
Please include:
- Problem statement
- Proposed solution
- Benefits to users
- Alternative approaches considered
New contributors can start with:
- Documentation improvements
- UI polish
- Accessibility enhancements
- Responsive design fixes
- Bug fixes
- Error handling improvements
- Event card improvements
- Navigation enhancements
If you have questions:
- Check existing issues first.
- Read the project documentation.
- Open a discussion or issue.
- Ask maintainers for clarification before large changes.
Niharika Mente
Project Vision:
- Helping developers discover opportunities
- Centralizing important developer events
- Improving accessibility to hackathons and programs
- Building a useful resource for the developer community
Thank you for contributing to DevEvent Tracker! 🎉
Every contribution helps developers discover opportunities, learn new skills, and connect with the broader tech community.
Happy Coding! 🚀