First off, thank you for considering contributing to CommDesk! 🎉
We welcome contributions from developers of all experience levels. Whether you're fixing a bug, improving documentation, suggesting a feature, or writing code, your efforts help make this project better for everyone.
Please take a moment to read through this guide before contributing.
By participating in this project, you agree to follow our Code of Conduct and help create a welcoming, respectful, and inclusive environment for everyone.
Please review the project's CODE_OF_CONDUCT.md before contributing.
Before opening a bug report:
- Search existing issues to ensure the bug has not already been reported.
- Verify that the issue still exists on the latest version of the project.
When creating a bug report, please include:
Provide a clear and concise description of the issue.
- Go to '...'
- Click on '...'
- Scroll down to '...'
- Observe the error
Describe what you expected to happen.
Describe what actually happened.
- Operating System:
- Browser:
- Node.js Version:
- Package Manager (npm/pnpm):
- Project Version:
Attach screenshots or recordings if applicable.
We welcome feature suggestions and improvements.
Before starting development:
-
Check existing issues and discussions.
-
Open a new issue describing your idea.
-
Explain:
- The problem you're trying to solve.
- Your proposed solution.
- Alternative solutions considered.
-
Wait for feedback from maintainers before beginning implementation.
This helps avoid duplicated work and ensures alignment with the project roadmap.
Make sure you have:
- Node.js (Latest LTS recommended)
- npm or pnpm
- Git
git clone https://github.com/NexGenStudioDev/CommDesk-Website.git
cd CommDesk-WebsiteUsing npm:
npm installOr using pnpm:
pnpm installCreate a .env file in the root directory:
VITE_API_BASE_URL=http://localhost:5000npm run devor
pnpm devClick the Fork button on GitHub and clone your fork locally.
git clone https://github.com/<your-username>/CommDesk-Website.gitCreate a descriptive branch name.
Examples:
git checkout -b feat/navbar-enhancementgit checkout -b fix/mobile-layoutgit checkout -b docs/contributing-guideBranch Naming Convention:
feat/→ New featuresfix/→ Bug fixesdocs/→ Documentation changesrefactor/→ Code improvementstest/→ Test-related changeschore/→ Maintenance tasks
Implement your changes while following project coding standards.
Use clear and meaningful commit messages.
Examples:
git commit -m "feat: add responsive sidebar navigation"git commit -m "fix: resolve navbar overflow issue"git commit -m "docs: add contribution guidelines"Sync with the latest changes from the main repository.
git remote add upstream https://github.com/NexGenStudioDev/CommDesk-Website.gitgit fetch upstreamgit checkout main
git merge upstream/maingit checkout <your-branch>
git rebase maingit push origin <your-branch>When opening a Pull Request:
- Provide a clear title.
- Describe the changes made.
- Reference related issues using:
Closes #IssueNumber
- Include screenshots for UI changes.
- Ensure all checks pass.
To maintain consistency across the project:
This project uses:
- Prettier
- ESLint
Run formatting and linting before submitting a PR.
Example:
npm run lintnpm run format- Write clean, readable, and maintainable code.
- Follow TypeScript best practices.
- Prefer reusable components.
- Keep business logic separate from UI components.
- Use meaningful variable and function names.
- Avoid unnecessary code duplication.
Before submitting a Pull Request:
- Ensure existing tests pass.
- Add tests for new functionality whenever applicable.
Example:
npm run testMaintainers will review submissions based on:
- Code quality
- Project consistency
- Performance considerations
- Documentation completeness
- Test coverage
Feedback may be provided before approval. Please be open to suggestions and requested changes.
By contributing to this repository, you agree that your contributions will be licensed under the same license as this project.
If you have questions about contributing:
- Open a discussion or issue.
- Reach out to project maintainers.
- Review existing documentation.
Thank you for helping improve CommDesk! 💙
Happy Coding! 🚀