Skip to main content

Developer Onboarding Guide

Welcome to ZÈYA! This guide will help you get started as a new developer on the team.

🎯 First Week Checklist

Day 1: Setup & Orientation

  • Get access to repositories
  • Set up development environment
  • Read platform overview
  • Understand project structure
  • Set up communication tools (Slack, etc.)

Day 2-3: Local Development Setup

Day 4-5: Code Exploration

  • Review codebase structure
  • Read architecture documentation
  • Understand coding standards
  • Review recent pull requests
  • Ask questions and get familiar with the team

🛠️ Development Environment Setup

Required Tools

  1. Version Control:

    • Git
    • GitHub/GitLab account
  2. API Development:

    • PHP 8.1+
    • Composer
    • MySQL/PostgreSQL
    • Redis
    • PHPStorm or VS Code
  3. Mobile Development:

    • Node.js 18+
    • npm or yarn
    • Expo CLI
    • Xcode (for iOS, macOS only)
    • Android Studio (for Android)
  4. Admin Panel Development:

    • Node.js 18+
    • npm or yarn
    • VS Code or preferred editor
  5. General:

    • Docker (optional, for containerized development)
    • Postman/Insomnia (for API testing)

Initial Setup Steps

  1. Clone Repositories:

    git clone <api-repo-url>
    git clone <mobile-app-repo-url>
    git clone <admin-panel-repo-url>
  2. Set Up API:

    cd API
    composer install
    cp .env.example .env
    # Configure .env file
    php artisan key:generate
    php artisan migrate
    php artisan serve
  3. Set Up Mobile App:

    cd Zeya-Mobile-App
    npm install
    npm start
  4. Set Up Admin Panel:

    cd Zeya-Admin
    npm install
    npm run dev

📚 Essential Reading

Must Read First

  1. Main Documentation - Platform overview
  2. Git Workflow - How we work with Git
  3. Troubleshooting Guide - Common issues

Service-Specific

For API Developers:

For Mobile Developers:

For Admin Panel Developers:

🎓 Learning Path

Week 1: Foundation

  • Understand platform architecture
  • Set up all development environments
  • Run all services locally
  • Review codebase structure

Week 2: Deep Dive

  • Study specific service architecture
  • Understand API endpoints
  • Review authentication flow
  • Understand data models

Week 3: Contribution

  • Pick up a small bug fix or feature
  • Follow development workflow
  • Submit first pull request
  • Get code review feedback

Week 4: Independence

  • Work on larger features
  • Help other team members
  • Contribute to documentation
  • Share knowledge

🤝 Team Communication

Communication Channels

  • Slack/Teams: Daily communication
  • GitHub/GitLab: Code reviews and issues
  • Stand-ups: Daily sync (if applicable)
  • Documentation: Always update docs

Asking Questions

  • Check documentation first
  • Search existing issues/PRs
  • Ask in team channels
  • Schedule 1-on-1s if needed

📋 Common Tasks

Making Your First Contribution

  1. Pick an Issue:

    • Start with "good first issue" labels
    • Choose something you understand
    • Ask for clarification if needed
  2. Create Branch:

    git checkout -b feature/my-first-feature
  3. Make Changes:

    • Follow coding standards
    • Write clean code
    • Add comments where needed
  4. Test Changes:

    • Test locally
    • Run tests if applicable
    • Check for errors
  5. Submit PR:

    • Write clear description
    • Link related issues
    • Request review

🔑 Key Concepts

Platform Architecture

  • API-First: API is the core, all clients consume it
  • Microservices-Ready: Services can be scaled independently
  • Real-time: Firebase for chat, WebSockets for updates
  • Multi-platform: Mobile (iOS/Android) and Web (Admin)

Development Principles

  • Code Quality: Follow standards, write tests
  • Documentation: Keep docs updated
  • Security: Always consider security implications
  • Performance: Optimize for scale
  • User Experience: Think from user perspective

Workflow

  • Feature Branches: Always work in feature branches
  • Code Review: All code must be reviewed
  • Testing: Test before submitting
  • Documentation: Update docs with changes

🐛 Common First-Time Issues

API Issues

  • Problem: Database connection fails

  • Solution: Check .env configuration, ensure database is running

  • Problem: Migrations fail

  • Solution: Check database permissions, verify migration files

Mobile App Issues

  • Problem: Metro bundler won't start

  • Solution: Clear cache: npx expo start -c

  • Problem: iOS build fails

  • Solution: Run pod install in ios/ directory

Admin Panel Issues

  • Problem: Build fails

  • Solution: Clear .next directory, reinstall dependencies

  • Problem: Styles not loading

  • Solution: Check SCSS imports, verify build output

📞 Getting Help

Resources

  1. Documentation: Check relevant service docs
  2. Team: Ask in team channels
  3. Code: Review existing code for examples
  4. Issues: Check GitHub/GitLab issues

When to Ask

  • After checking documentation
  • After searching existing issues
  • When blocked for >30 minutes
  • When unsure about approach

✅ Success Criteria

You're ready to contribute when you can:

  • Run all services locally
  • Understand basic architecture
  • Follow Git workflow
  • Make small changes independently
  • Submit pull requests
  • Review code (with guidance)

🎉 Welcome to the Team!

We're excited to have you! Don't hesitate to ask questions, and remember:

  • Everyone was new once - It's okay to ask questions
  • Documentation is your friend - Check docs first
  • Code reviews are learning opportunities - Embrace feedback
  • Contribute to docs - Help improve them for others