First off, thank you for considering contributing to KeepWiz!
By participating in this project, you are expected to uphold our Code of Conduct. Please report unacceptable behavior.
This section guides you through submitting a bug report. Following these guidelines helps maintainers understand your report and reproduce the issue.
Before creating bug reports, please:
- Check the issue tracker to see if the problem has already been reported.
- If you're unable to find an open issue addressing the problem, open a new one.
How to Submit A Good Bug Report:
- Use a clear and descriptive title
- Describe the exact steps which reproduce the problem
- Provide specific examples to demonstrate the steps
- Describe the behavior you observed after following the steps
- Explain which behavior you expected to see instead
- Include screenshots if applicable
This section guides you through submitting an enhancement suggestion, including completely new features and minor improvements to existing functionality.
How to Submit A Good Enhancement Suggestion:
- Use a clear and descriptive title
- Provide a step-by-step description of the suggested enhancement
- Provide specific examples to demonstrate the enhancement
- Describe the current behavior and explain which behavior you expected to see instead
- Explain why this enhancement would be useful
- Fill in the required template
- Do not include issue numbers in the PR title
- Include screenshots and GIFs in your pull request whenever possible
- Follow the JavaScript style guide
- Include unit tests when possible
- Document new code based on the project documentation style
- End all files with a newline
- Node.js (v18 or higher)
- Docker and Docker Compose (if using the containerized setup)
-
Fork the repository
-
Clone your fork locally
git clone https://github.com/jkrumboe/wizard-tracker.git cd wizard-tracker -
Install dependencies
# For backend cd backend npm install # For frontend cd ../frontend npm install
-
Set up environment variables (optional)
- Copy
frontend/env-config.js.templatetofrontend/env-config.jsif needed - Update the values with your configuration
- Copy
-
Start the development servers
# Terminal 1: Start backend containers (API & Database) docker compose up # Terminal 2: Start the frontend cd frontend npm run dev
- Use ESLint with the provided configuration
- Follow the naming conventions used throughout the project
- Write meaningful commit messages
- Keep code modular and well-organized
- Write tests for new features
- Make sure existing tests pass before submitting a PR
- Test your changes across different browsers and devices when applicable
- Update the documentation when necessary
- Include JSDoc comments for new functions and classes
- Update the wiki with any significant changes to the architecture or API
If you have any questions, please feel free to contact the project maintainer.