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
-
API Backend:
- Follow API Setup Guide
- Run API locally
- Test API endpoints
-
Mobile App:
- Follow Mobile App Setup Guide
- Run app on simulator/emulator
- Test basic functionality
-
Admin Panel:
- Follow Admin Panel Setup Guide
- Run admin panel locally
- Explore dashboard features
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
-
Version Control:
- Git
- GitHub/GitLab account
-
API Development:
- PHP 8.1+
- Composer
- MySQL/PostgreSQL
- Redis
- PHPStorm or VS Code
-
Mobile Development:
- Node.js 18+
- npm or yarn
- Expo CLI
- Xcode (for iOS, macOS only)
- Android Studio (for Android)
-
Admin Panel Development:
- Node.js 18+
- npm or yarn
- VS Code or preferred editor
-
General:
- Docker (optional, for containerized development)
- Postman/Insomnia (for API testing)
Initial Setup Steps
-
Clone Repositories:
git clone <api-repo-url>
git clone <mobile-app-repo-url>
git clone <admin-panel-repo-url> -
Set Up API:
cd API
composer install
cp .env.example .env
# Configure .env file
php artisan key:generate
php artisan migrate
php artisan serve -
Set Up Mobile App:
cd Zeya-Mobile-App
npm install
npm start -
Set Up Admin Panel:
cd Zeya-Admin
npm install
npm run dev
📚 Essential Reading
Must Read First
- Main Documentation - Platform overview
- Git Workflow - How we work with Git
- 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
-
Pick an Issue:
- Start with "good first issue" labels
- Choose something you understand
- Ask for clarification if needed
-
Create Branch:
git checkout -b feature/my-first-feature -
Make Changes:
- Follow coding standards
- Write clean code
- Add comments where needed
-
Test Changes:
- Test locally
- Run tests if applicable
- Check for errors
-
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
.envconfiguration, 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 installinios/directory
Admin Panel Issues
-
Problem: Build fails
-
Solution: Clear
.nextdirectory, reinstall dependencies -
Problem: Styles not loading
-
Solution: Check SCSS imports, verify build output
📞 Getting Help
Resources
- Documentation: Check relevant service docs
- Team: Ask in team channels
- Code: Review existing code for examples
- 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