Thank you for your interest in contributing to LearnFlow FRONTEND! Your contributions help improve the project and make it more useful for everyone. This document outlines the guidelines and best practices to follow when contributing.
- Getting Started
- How to Contribute
- Code Style
- Branching Strategy
- Commit Message Guidelines
- Pull Request Guidelines
- Issue Tracking
- Acknowledgements
-
Fork the repository
Create a personal fork of the repository by clicking the "Fork" button at the top of the project page. -
Clone your fork
Clone your forked repository to your local machine:git clone https://github.com/<your-username>/LearnFlow-FRONTEND.git cd LearnFlow-FRONTEND
-
Create a new branch
Always create a new branch for your work:git checkout -b feature/your-branch-name
-
Install dependencies
Install project dependencies:npm install
or
yarn install
-
Run the development server
Start the development server:npm run dev
or
yarn dev
If you encounter a bug:
- Search for existing issues to avoid duplicates.
- Create a new issue with:
- A clear and descriptive title.
- Steps to reproduce the bug.
- Expected vs actual behavior.
- Screenshots or logs (if applicable).
If you have an idea for improving the project:
- Search for similar enhancement requests.
- Create a new issue with:
- A clear and descriptive title.
- The motivation for the enhancement.
- Expected behavior and benefits.
- Ensure that you have an open issue linked to your contribution.
- Follow the Branching Strategy and Commit Message Guidelines.
- Test your changes locally:
- Ensure all tests pass.
- Test UI components across different devices and screen sizes.
- Submit a pull request.
Ensure consistency with the project's coding style:
- Language: TypeScript
- Framework: React + Vite
- Styling: Tailwind CSS
- State Management: Redux Toolkit
- HTTP Requests: Axios
-
Ensure your code follows project linting rules:
npm run lint
or
yarn lint
-
Format your code using Prettier:
npm run format
or
yarn format
Use the following branching strategy:
main
– Production-ready code only.dev
– Latest stable development branch.feature/branch-name
– For new features.fix/branch-name
– For bug fixes.hotfix/branch-name
– For urgent fixes on themain
branch.
Example:
git checkout -b feature/ai-recommendation
Follow the Conventional Commits format:
<type>(<scope>): <description>
[optional body]
[optional footer]
- feat – A new feature.
- fix – A bug fix.
- docs – Documentation updates.
- style – Code style changes (formatting, no logic changes).
- refactor – Code restructuring without changing behavior.
- test – Adding or modifying tests.
- chore – Maintenance or build tasks.
Example:
feat(auth): add JWT-based authentication
- Create a pull request (PR) against the
dev
branch. - Clearly describe the changes and link to the related issue.
- Ensure that:
- Linting and tests pass.
- Code follows the project’s coding style.
- Documentation is updated (if applicable).
PR Title Example:
feat(dashboard): add goal tracking feature
PR Description Example:
### What’s Changed
- Added goal tracking feature to the dashboard.
- Updated Redux state to handle goal updates.
### How to Test
1. Create a new goal from the dashboard.
2. Check that the progress is updated correctly.
Closes #42
- Use GitHub Issues to track bugs and feature requests.
- Assign appropriate labels:
bug
– For issues related to broken functionality.enhancement
– For feature improvements.help wanted
– For issues where community help is welcome.good first issue
– For beginner-friendly issues.
We appreciate all contributions! 🙌
By contributing to LearnFlow FRONTEND, you agree to license your contributions under the MIT License.
Thank you for improving LearnFlow FRONTEND! ❤️