- π How Can I Contribute?
- π Reporting Bugs
- π‘ Suggesting Features
- π§ Development Setup
- π Pull Request Process
- π» Coding Guidelines
- π¨ Design Guidelines
- β Commit Message Guidelines
- π Code of Conduct
|
Report Bugs Find and report issues to help us improve |
Suggest Ideas Share your creative ideas for new features |
Fix Issues Pick an issue and submit a fix |
Improve Docs Help make our documentation better |
We welcome contributions in the following areas:
- π Bug Fixes - Help squash those pesky bugs
- β¨ New Features - Add exciting new functionality
- π¨ UI/UX Improvements - Enhance the visual experience
- π± Responsive Design - Improve mobile experience
- βΏ Accessibility - Make our cafΓ© accessible to everyone
- π Security - Strengthen our security measures
- π Documentation - Improve guides and documentation
- π Translations - Help us reach a global audience
- β‘ Performance - Optimize code and improve speed
- π§ͺ Testing - Write tests to ensure quality
Before creating a bug report, please check the existing issues to avoid duplicates.
When filing a bug report, please include:
- Clear Title - Be specific and descriptive
- Description - Explain what happened vs. what you expected
- Steps to Reproduce - Detailed steps to reproduce the issue
- Screenshots - If applicable, add screenshots
- Environment Details:
- OS (Windows, macOS, Linux)
- Browser (Chrome, Firefox, Safari, etc.)
- Browser Version
- Node.js Version (if backend issue)
## Bug Description
A clear description of what the bug is.
## Steps to Reproduce
1. Go to '...'
2. Click on '...'
3. Scroll down to '...'
4. See error
## Expected Behavior
What you expected to happen.
## Actual Behavior
What actually happened.
## Screenshots
If applicable, add screenshots.
## Environment
- OS: [e.g., Windows 11]
- Browser: [e.g., Chrome 120]
- Version: [e.g., 1.0.0]
## Additional Context
Any other relevant information.We love hearing your ideas! Before suggesting a feature:
- Check existing issues to see if it's already been suggested
- Search closed issues in case it was previously discussed
- Consider if it fits the project's scope and vision
## Feature Description
A clear description of the feature you'd like to see.
## Problem it Solves
Explain the problem this feature would solve.
## Proposed Solution
Describe how you envision this feature working.
## Alternative Solutions
Any alternative solutions you've considered.
## Additional Context
Screenshots, mockups, or examples from other projects.
## Benefits
- Benefit 1
- Benefit 2
- Benefit 3Before you begin, ensure you have the following installed:
- Node.js (v16 or higher)
- npm or yarn
- MongoDB (v4.4 or higher)
- Git
-
Fork the Repository
Click the "Fork" button at the top right of the repository page.
-
Clone Your Fork
git clone https://github.com/KrishnaSaxena108/The-Midnight-Brew.git cd The-Midnight-Brew -
Add Upstream Remote
git remote add upstream https://github.com/KrishnaSaxena108/The-Midnight-Brew.git
-
Install Dependencies
npm install
-
Set Up Environment Variables
cp .env.example .env # Edit .env with your configuration -
Start Development Server
npm run dev
-
Open in Browser
Navigate to
http://localhost:3000
-
Create a new branch for your feature/fix
git checkout -b feature/your-feature-name
-
Make your changes and commit them (see commit guidelines below)
-
Test thoroughly - Ensure your changes work as expected
-
Update documentation if needed
-
Keep commits clean - Squash unnecessary commits
-
Push to your fork
git push origin feature/your-feature-name
-
Create Pull Request on GitHub
-
Fill out the PR template with all required information
-
Link related issues using keywords (Fixes #123, Closes #456)
-
Wait for review - Be patient and responsive to feedback
## Description
Brief description of what this PR does.
## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Breaking change
- [ ] Documentation update
## Related Issues
Fixes #(issue number)
## Changes Made
- Change 1
- Change 2
- Change 3
## Screenshots (if applicable)
Add screenshots here.
## Checklist
- [ ] My code follows the project's style guidelines
- [ ] I have performed a self-review of my code
- [ ] I have commented my code where necessary
- [ ] I have updated the documentation
- [ ] My changes generate no new warnings
- [ ] I have tested my changes thoroughly
- [ ] Any dependent changes have been merged
## Additional Notes
Any additional information reviewers should know.- PRs are typically reviewed within 2-5 business days
- Maintainers may request changes or ask questions
- Once approved, your PR will be merged
- You'll be added to our contributors list! π
- Use ES6+ syntax where appropriate
- Use const and let instead of var
- Use arrow functions for callbacks
- Use template literals for string concatenation
- Add semicolons at the end of statements
- Use 2 spaces for indentation
// β
Good
const greeting = (name) => {
return `Hello, ${name}!`;
};
// β Bad
var greeting = function(name) {
return 'Hello, ' + name + '!'
}- Use meaningful class names (BEM notation preferred)
- Group related properties together
- Use CSS variables for colors and common values
- Add comments for complex sections
- Keep selectors simple and avoid deep nesting
/* β
Good */
.menu-item {
display: flex;
align-items: center;
padding: var(--spacing-md);
background-color: var(--color-primary);
}
/* β Bad */
.menu .item div {
display: flex;
align-items: center;
}- Use semantic HTML5 elements
- Add alt text to images
- Use proper heading hierarchy
- Keep markup clean and readable
- Add ARIA labels where appropriate
<!-- β
Good -->
<nav aria-label="Main navigation">
<ul class="nav-list">
<li class="nav-item">
<a href="#home" class="nav-link">Home</a>
</li>
</ul>
</nav>
<!-- β Bad -->
<div class="nav">
<div>
<a href="#home">Home</a>
</div>
</div>- Never commit sensitive data (API keys, passwords)
- Validate all user inputs
- Sanitize data before database operations
- Use environment variables for configuration
- Follow OWASP security guidelines
- Optimize images before committing
- Minimize HTTP requests
- Use async/await for asynchronous operations
- Avoid memory leaks
- Cache when appropriate
Stick to our established color scheme:
- Primary:
#8B4513(Saddle Brown) - Secondary:
#D2691E(Chocolate) - Accent:
#A0522D(Sienna) - Dark:
#2C1810(Dark Brown) - Light:
#F5F5DC(Beige)
- Headings: Playfair Display
- Body: System fonts / Sans-serif
- Code: Monospace
Use consistent spacing throughout:
- Small:
8px - Medium:
16px - Large:
24px - Extra Large:
32px
- Mobile: < 768px
- Tablet: 768px - 1024px
- Desktop: > 1024px
Write clear, meaningful commit messages following this format:
<type>(<scope>): <subject>
<body>
<footer>
- feat: New feature
- fix: Bug fix
- docs: Documentation changes
- style: Code style changes (formatting, etc.)
- refactor: Code refactoring
- test: Adding or updating tests
- chore: Maintenance tasks
# Good commits
feat(menu): add coffee filter functionality
fix(auth): resolve JWT token expiration issue
docs(readme): update installation instructions
style(css): improve button hover effects
# Bad commits
fixed stuff
update
changes
asdfgh- Use present tense ("add" not "added")
- Use imperative mood ("move" not "moves")
- Keep subject line under 50 characters
- Capitalize the subject line
- Don't end with a period
- Add detailed description in body if needed
We are committed to providing a welcoming and inclusive environment for everyone, regardless of:
- Age
- Body size
- Disability
- Ethnicity
- Gender identity and expression
- Level of experience
- Nationality
- Personal appearance
- Race
- Religion
- Sexual identity and orientation
Positive Behavior:
- Using welcoming and inclusive language
- Being respectful of differing viewpoints
- Gracefully accepting constructive criticism
- Focusing on what's best for the community
- Showing empathy towards others
Unacceptable Behavior:
- Trolling, insulting, or derogatory comments
- Personal or political attacks
- Public or private harassment
- Publishing others' private information
- Any conduct which could reasonably be considered inappropriate
If you experience or witness unacceptable behavior, please report it by contacting the project maintainer at the repository's issue tracker.
All contributors will be recognized in:
- Our README.md contributors section
- Release notes for their contributions
- Special shoutouts in our community
- β Coffee Enthusiast - 1-5 contributions
- π Regular Brewer - 6-15 contributions
- π Master Barista - 16+ contributions
- π Core Team - Consistent, high-quality contributions
|
GitHub Discussions |
GitHub Issues |
β Your contributions make The Midnight Brew special β¨
We appreciate every contribution, big or small!
Happy coding and enjoy your virtual coffee! βπ