Thank you for your interest in contributing! This repository is designed as an educational resource, and we welcome improvements from the community.
Found a typo, broken link, or incorrect information? Open an issue using one of our templates:
- Bug Report (for errors, broken links)
- Feature Request (for new content suggestions)
What we're looking for:
- Fixing typos and grammatical errors
- Adding practical examples to curriculum modules
- Improving code comments in SQL/YAML files
- Adding Mermaid diagrams to visualize concepts
- Updating outdated information (e.g., industry statistics, tool versions)
Process:
- Fork the repository
- Create a branch:
git checkout -b fix/update-sql-query - Make your changes
- Test locally (preview markdown, run SQL queries)
- Submit a Pull Request with a clear description
We're especially interested in:
- Real-world case studies (similar to ReserveEasy)
- Additional SQL query patterns (cohort analysis variants, etc.)
- Template improvements (test cases, user stories)
- Exercises at the end of curriculum modules
Before adding major content:
- Open a Feature Request to discuss your idea
- Wait for feedback from maintainers
- Once approved, submit your PR
- Beginner-friendly: Define jargon on first use
- Practical: Include real-world examples, not just theory
- Concise: Avoid redundancy; respect the reader's time
- Inclusive: Use gender-neutral language ("they" not "he/she")
- Use
code blocksfor: file names, function names, SQL keywords - Use bold for emphasis
- Use > blockquotes for important callouts
- Use tables for structured comparisons
Always specify the language:
```sql
SELECT * FROM users;
```
```yaml
openapi: 3.0.0
```Test diagrams at mermaid.live before committing:
```mermaid
graph LR
A[Start] --> B[End]
```
#### File Naming
- Use lowercase with hyphens: `user-personas.md` (not `User_Personas.md`)
- Use meaningful names: `funnel-analysis.sql` (not `query1.sql`)
---
## SQL Query Standards
### Must-Have Elements
- **Comments:** Explain the business question being answered
- **Formatting:** Use consistent indentation (2 or 4 spaces)
- **CTEs:** Use Common Table Expressions (WITH clauses) for readability
- **Example Output:** Show what the query returns
- **Insights:** Explain what the results mean
### Example
```sql
-- ============================================
-- BUSINESS QUESTION: What is our Week 1 retention rate?
-- ============================================
WITH user_cohorts AS (
SELECT
user_id,
DATE_TRUNC('week', created_at) AS cohort_week
FROM users
)
SELECT
cohort_week,
COUNT(*) AS users
FROM user_cohorts
GROUP BY cohort_week;
-- Example Output:
-- cohort_week | users
-- ------------+-------
-- 2026-01-01 | 1000
-- 2026-01-08 | 1200
-- INSIGHT: Signups growing 20% week-over-week!
- Use OpenAPI 3.0 (not 2.0/Swagger 2.0)
- Include examples for all request/response schemas
- Define all error responses (400, 404, 500, etc.)
- Add descriptions for every field
- Test specs in Swagger Editor
Use GitHub's preview or a local tool:
# Option 1: VS Code Markdown Preview (Cmd+Shift+V)
# Option 2: grip (GitHub-flavored markdown)
pip install grip
grip README.mdRun queries against the provided schema:
# Load schema SQL file into PostgreSQL
psql -U postgres -d test_db -f 02-reserve-easy-project/05-analytics/schema.sql
# Test your query
psql -U postgres -d test_db -f your-new-query.sqlPaste into mermaid.live - if it renders, you're good!
Before submitting, ensure:
- All markdown files render correctly (no broken formatting)
- Code blocks have language tags
- Links are valid (no 404s)
- No placeholder content ("TODO", "Lorem ipsum")
- Consistent terminology (e.g., don't mix "customer" and "user" randomly)
- No sensitive data (API keys, passwords)
- PR title is descriptive: "Add retention cohort SQL query" not "Update files"
Be respectful and constructive:
- ✅ "This SQL query could be optimized with an index on
created_at" - ❌ "This query is terrible"
We're all learning. Critique ideas, not people.
Open a Discussion or tag @maintainer in an issue.
Thank you for helping make this the best PM/BA learning resource! 🚀