Skip to main content

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​

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​

Week 2: Hands-On Learning​

Project Exploration​

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​

  1. Planning: Understand requirements and acceptance criteria
  2. Design: Create a technical design if needed
  3. Implementation: Write code following our guidelines
  4. Testing: Write comprehensive tests
  5. Review: Submit a PR and address feedback
  6. 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​

  1. Check the documentation first
  2. Search previous Discord messages
  3. Be specific about the problem
  4. Include relevant context and error messages
  5. Share what you've already tried

Escalation Path​

  1. A maintainer or fellow contributor
  2. A senior developer or team lead
  3. The project lead

Onboarding is a process, not a checkpoint. Take your time to learn properly, and never hesitate to ask for help!