Developer Onboarding Guide

Complete guide for new developers joining InfoTech.io open source projects

Developer Onboarding Guide

Welcome to InfoTech.io! This comprehensive guide will help you get started as a contributor to our open source educational technology ecosystem.

  • Educational Content: Create courses, lessons, and learning materials
  • Platform Development: Work on INFOTEKA platform features
  • Infrastructure: Improve Hugo Templates Factory, Quiz Engine, Web Terminal
  • Tools & Automation: Enhance InfoTech CLI and development workflows
# 1. Fork and clone a repository
git clone https://github.com/YOUR_USERNAME/REPO_NAME.git
cd REPO_NAME

# 2. Install dependencies (varies by project)
npm install        # For JavaScript projects
pip install -r requirements.txt  # For Python projects
  1. Find a “good first issue” label in any repository
  2. Comment that you’d like to work on it
  3. Create a branch: git checkout -b fix/issue-description
  4. Make your changes and test them
  5. Submit a pull request with a clear description
  1. Read Foundation Documents

  2. Explore Live Products

  3. Join Community Channels

  1. Choose Primary Project

    • Browse all repositories
    • Read project-specific documentation
    • Review recent issues and pull requests
  2. Set Up Development Environment

    • Follow project-specific setup instructions
    • Run local development server
    • Execute test suites
  3. Understand the Codebase

    • Explore directory structure
    • Read code comments and documentation
    • Trace through key features
  1. Documentation Improvements

    • Fix typos or unclear explanations
    • Add missing documentation
    • Improve code comments
  2. Bug Fixes

    • Find issues labeled “good first issue”
    • Reproduce bugs locally
    • Submit fixes with tests
  • Basic Git knowledge
  • Markdown familiarity
  • Text editor (VS Code recommended)
# Clone content repository
git clone https://github.com/info-tech-io/mod_COURSE_NAME.git
cd mod_COURSE_NAME

# Check structure
tree content/  # View content organization

# Local development (if hugo-templates available)
# This requires hugo-templates repository
git clone https://github.com/info-tech-io/hugo-templates.git
cd hugo-templates
npm install
./scripts/build.sh --template educational --content ../mod_COURSE_NAME/content --serve
  • Use semantic Markdown structure
  • Include frontmatter metadata
  • Add quiz questions where appropriate
  • Test content rendering locally
  • Node.js 16+
  • Hugo Extended Edition
  • Basic web development knowledge
# Clone main platform
git clone https://github.com/info-tech-io/infotecha.git
cd infotecha

# Install dependencies
npm install

# Set up environment variables
cp .env.example .env
# Edit .env with your configuration

# Start development server
npm run dev

# Run tests
npm test
  1. Feature Branch: git checkout -b feature/description
  2. Code Changes: Follow ESLint and Prettier configuration
  3. Testing: Write/update tests for new functionality
  4. Documentation: Update README and code comments
  5. Pull Request: Submit with detailed description
  • JavaScript ES6+ knowledge
  • Testing frameworks (Jest)
  • Understanding of web APIs
# Clone Quiz Engine
git clone https://github.com/info-tech-io/quiz.git
cd quiz

# Install dependencies
npm install

# Run development server
npm run dev

# Run test suite
npm test

# Build for production
npm run build
  • Question Types: Multiple choice, true/false, fill-in-blank
  • Scoring System: Points, penalties, time-based scoring
  • Event System: Question answered, quiz completed, score changed
  • Configuration: JSON-based quiz definitions
  • Node.js 16+
  • Hugo Extended Edition
  • Understanding of template engines
  • CLI development experience
# Clone Hugo Templates
git clone https://github.com/info-tech-io/hugo-templates.git
cd hugo-templates

# Install dependencies
npm install

# Test template building
./scripts/build.sh --help

# Run comprehensive tests
npm test

# Install CLI globally for testing
npm link
hugo-templates --version
  • Templates: Educational, Corporate, Documentation
  • Themes: Compose, Minimal, Custom
  • Components: Quiz Engine, Search, Navigation
  • Build Scripts: Shell scripts for site generation
  • Node.js 16+
  • Docker and Docker Compose
  • Understanding of WebSockets
  • Basic security concepts
# Clone Web Terminal
git clone https://github.com/info-tech-io/web-terminal.git
cd web-terminal

# Install dependencies
npm install

# Start development environment
docker-compose up -d

# Run application
npm run dev

# Test WebSocket connection
npm run test:integration
  • Container isolation and resource limits
  • Input sanitization and validation
  • Session management and authentication
  • Network security and firewalls
  • Clean Code: Self-documenting with meaningful names
  • SOLID Principles: Single responsibility, open/closed, etc.
  • DRY: Don’t repeat yourself
  • YAGNI: You aren’t gonna need it
  • Functionality works as expected
  • Tests cover new/changed code
  • Documentation is updated
  • No security vulnerabilities
  • Performance impact considered
  • Backward compatibility maintained
# Unit tests
npm test

# Integration tests
npm run test:integration

# End-to-end tests
npm run test:e2e

# Coverage report
npm run test:coverage
# Markdown validation
markdownlint content/

# Link checking
markdown-link-check content/**/*.md

# Spell checking
cspell "content/**/*.md"
  • JSDoc comments for all functions
  • README.md for project overview
  • API.md for public interfaces
  • CHANGELOG.md for version history
  • Frontmatter metadata for all content files
  • Learning objectives for educational content
  • Prerequisites and difficulty level
  • Estimated completion time

📚 New to our workflow? Read the Complete Issue and Commit Workflow Guide for detailed examples, templates, and step-by-step instructions.

  1. Check existing issues to avoid duplication
  2. Discuss significant changes in GitHub Discussions
  3. Create issue for feature requests or bugs
  4. Get assignment from maintainers for large features
  1. Create feature branch from main/master
  2. Make incremental commits with clear messages
  3. Keep branch updated with upstream changes
  4. Test thoroughly on different environments
  1. Submit pull request with detailed description
  2. Respond to feedback promptly and professionally
  3. Make requested changes in additional commits
  4. Squash commits if requested before merging
type(scope): brief description

Longer description if needed.

Fixes #123

Types: feat, fix, docs, style, refactor, test, chore Scope: Component or area affected

## Description
Brief description of changes

## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Documentation update
- [ ] Performance improvement

## Testing
- [ ] Existing tests pass
- [ ] New tests added
- [ ] Manual testing completed

## Checklist
- [ ] Code follows style guidelines
- [ ] Self-review completed
- [ ] Documentation updated
- [ ] No breaking changes
  1. InfoTech.io Architecture
  2. Contributing Guidelines
  3. Issue and Commit Workflow Guide
  4. Project-specific README files
  5. Code of Conduct
  1. Hugo Documentation: gohugo.io/documentation
  2. Git Best Practices: git-scm.com/book
  3. JavaScript Modern Features: MDN Web Docs
  4. Docker Fundamentals: docs.docker.com/get-started
  1. Product Documentation
  2. Technical Blog Posts
  3. GitHub Discussions
  4. Project Roadmap

Goal: Develop educational materials and courses

  • Study existing course structure
  • Understand Quiz Engine integration
  • Review content guidelines
  • Make documentation improvements
  • Write new lessons or improve existing ones
  • Create quiz questions and exercises
  • Develop practical labs and projects
  • Get content reviewed by community
  • Plan new course modules
  • Coordinate with other content creators
  • Mentor new content contributors
  • Participate in curriculum decisions

Goal: Improve core platform functionality

  • Set up development environment
  • Fix minor bugs and improve documentation
  • Understand CI/CD pipeline
  • Learn platform architecture
  • Implement new features
  • Improve user experience
  • Optimize performance
  • Add comprehensive tests
  • Design new system components
  • Review pull requests from others
  • Mentor new developers
  • Influence technical roadmap

Goal: Improve tooling and automation

  • Learn Hugo Templates Factory
  • Understand deployment pipeline
  • Master InfoTech CLI
  • Set up monitoring and logging
  • Improve CI/CD workflows
  • Develop new CLI features
  • Optimize build processes
  • Enhance security measures
  • Design scalability improvements
  • Implement monitoring solutions
  • Lead infrastructure decisions
  • Plan technology migrations
  • General: Project discussions and announcements
  • Help: Questions and troubleshooting
  • Ideas: Feature requests and suggestions
  • Show and Tell: Share your contributions
  • Real-time chat: Quick questions and socializing
  • Announcements: Important updates
  • Coordination: Live collaboration
  • When: Every Tuesday, 18:00 UTC
  • Where: Telegram voice chat
  • Duration: 30 minutes
  • Agenda: Progress updates, blockers, planning
  • When: First Saturday of each month, 15:00 UTC
  • Where: Zoom (link in Telegram)
  • Duration: 60 minutes
  • Agenda: Roadmap updates, feature demos, Q&A
  • Duration: 48 hours
  • Focus: Specific themes (e.g., mobile, accessibility)
  • Prizes: Recognition and InfoTech.io swag
  • Location: Virtual with local meetups
  • Buddy System: Paired with experienced contributor
  • Regular Check-ins: Weekly 30-minute calls
  • Code Reviews: Extra attention on first few PRs
  • Support: Direct access to mentors via Telegram
  • Requirements: 3+ months active contribution
  • Training: Mentoring best practices workshop
  • Recognition: Special badge and profile highlighting
  • Support: Mentor coordination group
  • Requirements: First PR merged
  • Benefits: Welcome package, community access
  • Support: Dedicated mentorship
  • Requirements: 5+ merged PRs or significant content
  • Benefits: GitHub contributor badge
  • Opportunities: Code review participation
  • Requirements: Consistent contributions, mentoring others
  • Benefits: Repository triage permissions
  • Opportunities: Feature planning participation
  • Requirements: Deep codebase knowledge, leadership
  • Benefits: Write access to repositories
  • Responsibilities: PR review, release management
  • Requirements: Strategic thinking, community building
  • Benefits: Technical decision authority
  • Responsibilities: Roadmap planning, architecture decisions
  • Contributors page on website
  • Social media shout-outs for significant contributions
  • Conference speaking opportunities
  • Blog post features about contributor stories
  • InfoTech.io swag (stickers, t-shirts, hoodies)
  • Conference tickets for major contributors
  • Hardware rewards for exceptional contributions
  • Reference letters for job applications
  • Semantic Versioning: MAJOR.MINOR.PATCH
  • Release Branches: release/v1.2.0
  • Hotfix Branches: hotfix/v1.2.1
  • Tag Format: v1.2.0
  1. Feature Freeze: No new features in release branch
  2. Testing Phase: Comprehensive testing on staging
  3. Documentation Update: Changelog and migration guides
  4. Community Review: 48-hour review period
  5. Production Deploy: Automated deployment pipeline
  • Private Disclosure: Email security@info-tech.io
  • Response Time: 48 hours acknowledgment
  • Fix Timeline: 30 days for high severity issues
  • Credit: Public acknowledgment after fix
  • Dependency Updates: Monthly security audits
  • Code Scanning: Automated security analysis
  • Access Control: Principle of least privilege
  • Secrets Management: No hardcoded secrets
  • Bundle Size: Monitor and optimize
  • Loading Speed: < 3 seconds on 3G
  • Core Web Vitals: Meet Google standards
  • Progressive Enhancement: Work without JavaScript
  • Response Time: < 500ms for API calls
  • Database Queries: Optimized and indexed
  • Caching Strategy: Multi-level caching
  • Resource Usage: Monitor CPU and memory
  1. Search existing issues and documentation
  2. Check FAQ in project README files
  3. Ask in GitHub Discussions for general questions
  4. Create issue for bugs or feature requests
  1. Project maintainers via GitHub mentions
  2. Community moderators in Telegram
  3. Email support at developers@info-tech.io
  4. Emergency contact for security issues: security@info-tech.io
  • General questions: 24-48 hours
  • Bug reports: 2-5 business days
  • Feature requests: 1-2 weeks for initial review
  • Security issues: 24 hours
  1. Join our GitHub Discussions
  2. Introduce yourself in the welcome thread
  3. Pick a repository that interests you
  4. Read the project README thoroughly
  1. Set up development environment for chosen project
  2. Find a “good first issue” to work on
  3. Join our Telegram community
  4. Attend next community call (schedule in Telegram)
  1. Submit your first pull request
  2. Participate in code review for others
  3. Write or improve documentation
  4. Share your experience in community channels
  1. Stay active in community discussions
  2. Contribute regularly to maintain momentum
  3. Help newcomers get started
  4. Propose new features based on your expertise

We’re excited to have you join us in building the future of open source education technology. Remember:

  • Start small and build up your contributions
  • Ask questions - the community is here to help
  • Be patient - quality takes time
  • Have fun - enjoy the journey of learning and building

Ready to start? Pick a project and dive in!

Browse all repositories →


Last updated: September 2025 | Maintained by the InfoTech.io Community