Welcome to the project documentation!
- Conventional Commits Guide - Standards for commit message formatting
- Pull Request Guide - Complete guide for creating and reviewing PRs
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
Common Types:
feat: New featurefix: Bug fixdocs: Documentation changesrefactor: Code refactoringtest: Adding or updating testschore: Maintenance tasks
Example:
feat(client): add user authentication modal
Implement login/signup modal with form validation and error handling.
Includes integration with authentication API and session management.
Closes #123<type>/<short-description>
Examples:
feat/user-dashboardfix/memory-leakdocs/api-guiderefactor/error-handling
Follow the same format as commit messages:
feat(server): implement rate limiting middleware
fix(client): resolve hydration mismatch in SSR
docs: update deployment guide
This project is organized into several main components:
React frontend application
- TypeScript + Vite
- Component-based architecture
- Responsive design
Node.js backend API
- Express.js framework
- RESTful API design
- Database integration
Scheduled job services
- Background task processing
- Automated maintenance
- Report generation
Utility and deployment scripts
- Build automation
- Database migrations
- Deployment helpers
- Node.js 18+
- npm or yarn
- Git
-
Clone and Setup
git clone <repository-url> cd cypress-dashboard npm install
-
Create Feature Branch
git checkout -b feat/your-feature-name
-
Make Changes
- Follow coding standards
- Add tests for new functionality
- Update documentation as needed
-
Commit Changes
git add . git commit -m "feat(component): add new feature"
-
Push and Create PR
git push origin feat/your-feature-name
Then create a PR using the provided template.
- Read the Conventional Commits Guide
- Review the Pull Request Guide
- Check existing issues and PRs to avoid duplicates
- Discuss major changes in an issue first
- Follow existing code style and conventions
- Write meaningful commit messages
- Include tests for new functionality
- Update documentation for API changes
- Ensure all CI checks pass
- Self-review your changes
- Ensure all tests pass
- Create PR with detailed description
- Address reviewer feedback promptly
- Merge after approval and passing checks
# Run all tests
npm test
# Run tests for specific component
npm run test:client
npm run test:server
npm run test:cron
# Run tests in watch mode
npm run test:watch- Code coverage only goes up
- Write unit tests for all new functions
- Add integration tests for API endpoints
- Include E2E tests for critical user flows
The project uses Husky for git hooks:
- pre-commit: Runs linting and formatting
- commit-msg: Validates commit message format
- pre-push: Runs unit tests before pushing
- ESLint: Code linting
- Prettier: Code formatting
- TypeScript: Type checking
- Jest: Unit testing
- Commitlint: Commit message validation
- Check existing documentation first
- Search through issues and discussions
- Review similar PRs for examples
- Ask questions in team channels
- Create an issue for bugs or feature requests
- Use discussions for general questions
- Tag relevant team members for urgent issues
- Use clear, concise language
- Include code examples where helpful
- Keep documentation up to date with code changes
- Use consistent formatting and structure
- API Documentation: Generated from code comments
- User Guides: Step-by-step instructions
- Developer Guides: Technical implementation details
- Architecture Decisions: Record important design choices
This documentation is a living resource that should evolve with the project. Please:
- Suggest improvements through issues or PRs
- Update documentation when making code changes
- Share feedback on clarity and usefulness
- Contribute examples and best practices