Skip to content

🚀 Day 1 Onboarding: Your First Commit

Welcome to Apollyon! We are building the next generation of safety and sustainability infrastructure for mass events.

The Boy Scout Rule

Your very first task as a new hire is to read this document. If any step below is broken, outdated, or confusing, your second task is to fix it. We rely on you to leave this onboarding guide better than you found it.


1. Access & Identity (The Keys to the Castle)

Before you can write code, you need to be plugged into the Apollyon grid. Please verify you have access to the following systems. If you hit a 403 Forbidden error on any of these, ping your manager in Mattermost immediately.

  • 💬 Communications: Log into our Mattermost Server. Join the #general and #engineering channels.
  • 🦊 GitLab: Log into GitLab.
  • ☁️ Internal Cloud: Log into Nextcloud for access to internal binaries, PDFs, and shared resources.
  • 🔐 Secret Manager: Log into [TBD: INSERT SECRET MANAGER URL]. This is where you will fetch your local .env files. Never store production secrets on your local machine or commit them to Git.

2. The Base Workstation

Because our team uses a mix of Linux, macOS, and Windows, we enforce environment parity through containerization. You do not need to install Python, Kotlin, or Node directly on your host machine.

Prerequisites

  1. Install Git.
  2. Install Docker Desktop (or Docker Engine if you are natively on Linux).
  3. (Recommended) Install VS Code.

Standard VS Code Extensions

If you are using VS Code, please install these standard extensions to ensure your environment matches the team: * ms-azuretools.vscode-docker (Docker integration) * ms-vscode-remote.remote-containers (DevContainers support) * gitlab.gitlab-workflow (GitLab MRs and CI/CD pipelines)

(Note: Specific project setups, like the FastAPI backend or ESP32 firmware tooling, are located in their respective project repositories.)


3. The First Milestone: The "Hello World" MR

To prove your SSH keys, Docker engine, and GitLab permissions are working perfectly, you need to merge a piece of code today. Your mission is to add yourself to the Apollyon Team Directory.

Step 1: Clone the Handbook Open your terminal and clone this exact repository:

git clone git@gitlab.apollyon.lat:apollyon/internal/handbook.git
cd handbook

Step 2: Boot the Local Environment Spin up the local MkDocs container. This ensures you can preview your changes exactly as they will look in production:

docker compose up -d

Navigate to http://localhost:8000 in your browser.

Step 3: Make Your Mark

  1. Create a new branch: git checkout -b feat/add-new-hire-[your-name]
  2. Open docs/company/team-directory.md in your editor.
  3. Add your name, your role, and your favorite emoji to the list.
  4. Verify the change looks good on your localhost preview.

Step 4: Ship It Commit your changes, push your branch, and open a Merge Request (MR) in GitLab. Assign a senior engineer to review it.

git add .
git commit -m "feat: add [Your Name] to team directory"
git push -u origin HEAD

🎉 Congratulations. If your MR turns green and merges, you are officially online.