Onboarding Guide
Welcome to EndToEndLabCR! This guide walks new contributors through their first days and weeks with the project. Follow the steps in order, and don't hesitate to ask questions along the way.
Week 1: Getting Started​
Day 1: Accounts and Access​
- Create a GitHub account (if you don't have one)
- Request access to the EndToEndLabCR GitHub organization
- Join our Discord community
- Introduce yourself in the community channels
Day 2: Development Environment​
- Follow the Setting Up Your Local Environment guide
- Clone this documentation repository
- Set up your preferred IDE with the recommended extensions
- Configure Git with your name and email
Days 3–5: Learn the Stack​
- Read through this documentation
- Review our coding guidelines
- Understand our Git workflow and branching strategy
- Familiarize yourself with our CI/CD pipelines
- Complete the Setting Up Your Local Environment tutorial
Week 2: Hands-On Learning​
Project Exploration​
- Review our template projects: Python API or Spring Boot
- Run the TodoApp locally
- Explore the Python API template
First Contribution​
- Pick a "good first issue" from our repositories
- Create a feature branch following our naming conventions
- Make your changes following our coding guidelines
- Write tests for your changes
- Submit your first pull request using our PR template
- Address code review feedback
Essential Knowledge Areas​
Development Workflow​
- Planning: Understand requirements and acceptance criteria
- Design: Create a technical design if needed
- Implementation: Write code following our guidelines
- Testing: Write comprehensive tests
- Review: Submit a PR and address feedback
- Deployment: Monitor the deployment and verify functionality
Code Quality Standards​
- Follow established coding conventions
- Write meaningful commit messages (see our commits guide)
- Include comprehensive tests
- Document complex logic
- Consider security implications
- Optimize for performance when necessary
Communication Guidelines​
- Use descriptive PR titles and descriptions
- Ask questions early and often
- Provide context in your communications
- Be respectful and constructive in code reviews
- Update relevant documentation alongside your changes
Tools and Platforms​
Development Tools​
- IDE: IntelliJ IDEA, PyCharm, or VS Code
- Version Control: Git with GitHub
- API Testing: Postman or OpenAPI
- Database Tools: pgAdmin
Collaboration​
- Communication: Discord and email
- Video Calls: Discord "Reuniones" channel
- Project Management: GitHub Projects
- Documentation: This repository
Monitoring and Deployment​
- CI/CD: GitHub Actions
- Monitoring:
TBD - Logging:
TBD - Cloud Platform: AWS (primary), Vercel
Learning Resources​
Internal Resources​
- Project wiki and documentation
- Architecture decision records (ADRs)
- Previous project retrospectives
- Recorded tech talks and presentations
Common First Tasks​
Documentation Tasks​
- Fix typos or improve clarity in documentation
- Add missing examples or code snippets
- Update outdated information
- Improve README files
Code Tasks​
- Add unit tests to increase coverage
- Refactor code for better readability
- Implement small feature enhancements
- Fix minor bugs or issues
Infrastructure Tasks​
- Improve CI/CD pipeline efficiency
- Add monitoring alerts
- Update dependencies
- Optimize database queries
Getting Help​
How to Ask​
- Check the documentation first
- Search previous Discord messages
- Be specific about the problem
- Include relevant context and error messages
- Share what you've already tried
Escalation Path​
- A maintainer or fellow contributor
- A senior developer or team lead
- The project lead
Onboarding is a process, not a checkpoint. Take your time to learn properly, and never hesitate to ask for help!