Thank you for considering contributing to this project! Here's how you can help.
This project is licensed under GPL v3.0 or later. By contributing to this project, you agree that your contributions will be licensed under the same license.
Important: All contributions must be compatible with GPL v3+. This means:
- Your code will be freely available under GPL v3+
- Any derivative works must also be GPL v3+ licensed
- You retain copyright but grant GPL v3+ usage rights
For new significant files, please include the GPL v3+ header (see existing files for template).
This project adheres to a professional code of conduct. Please be respectful and constructive in all interactions.
- Use the "Bug Report" issue template
- Include detailed steps to reproduce the issue
- Provide browser and system information
- Include relevant error messages or screenshots
- Use the "Feature Request" issue template
- Clearly describe the problem you're trying to solve
- Explain why this feature would be useful
- Consider the scope and complexity of the request
- Follow the security policy in SECURITY.md
- Do NOT create public issues for critical security vulnerabilities
- Contact the repository owner directly for sensitive issues
- Node.js 18.x or higher
- npm 8.x or higher
- SQLite 3
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR-USERNAME/andrewhermann-blog.git - Install dependencies:
npm install - Start development server:
npm start - Start backend server:
npm run start-backend
├── src/ # Frontend React application
├── backend/ # Node.js API server
├── public/ # Static assets
├── build/ # Production build output
└── .github/ # GitHub configuration
- Follow existing code patterns and conventions
- Use meaningful variable and function names
- Add comments for complex logic
- Keep functions small and focused
- Use clear, descriptive commit messages
- Start with a verb (add, fix, update, remove)
- Reference issue numbers when applicable
- Example: "Fix admin login port configuration (#8)"
feature/issue-number-short-descriptionbugfix/issue-number-short-descriptionhotfix/critical-issue-description
- Test your changes thoroughly
- Verify functionality across different browsers
- Check both frontend and backend components
- Ensure no regressions in existing features
-
Create Feature Branch
git checkout -b feature/123-new-feature
-
Make Changes
- Follow the coding guidelines
- Test your changes locally
- Update documentation if needed
-
Submit Pull Request
- Use the pull request template
- Link related issues
- Provide clear description of changes
- Include screenshots for UI changes
-
Review Process
- Address review feedback promptly
- Make requested changes in separate commits
- Ensure CI checks pass
We use the following labels to organize issues:
- Priority:
urgent,enhancement - Type:
bug,security,investigation - Component:
frontend,backend,admin,database - Category:
ui/ux,styling,architecture,seo
This project follows semantic versioning (SemVer):
- Patch (1.0.x): Bug fixes, security patches
- Minor (1.x.0): New features, enhancements
- Major (x.0.0): Breaking changes
If you have questions about contributing:
- Check existing issues and discussions
- Create a new issue with the "question" label
- Contact the repository owner
Thank you for contributing! 🚀