👨💻 Engineering at Darukaa¶
Welcome to the Darukaa Engineering Team! This document introduces the core technical components, development workflows, and best practices to help you ramp up quickly.
Use this (Onboarding Template)[https://docs.google.com/document/d/12CxkwxKYacxfL5--O2LRKUTgqQN_r1d-t03x4HxG3NU/edit?usp=sharing] to track onboarding task. Please create a copy of the template (do not edit the template)
🧱 Codebases¶
We maintain three core repositories:
| Repo | Purpose | Stack | Link |
|---|---|---|---|
| Product | Web App (Frontend) | React, Vite, TypeScript | GitHub |
| Product Backend | Backend API services & cloud functions | FastAPI, PostgreSQL, Python | GitHub |
| Darukaa.earth | Public marketing website | Astro, Tailwind CSS | GitHub |
🌍 Environments¶
Darukaa uses two environments:
| Layer | Staging URL | Production URL |
|---|---|---|
| Web App | staging.darukaa.com | app.darukaa.com |
| API | api.staging.darukaa.com | api.darukaa.com |
| Marketing | — | www.darukaa.earth |
⚠️ All deployments are single-tenant SaaS. Be careful with staging data — it is connected to a shared DB instance.
🚀 Deployments¶
- Each app (frontend + backend) is deployed automatically via GitHub + GCP Cloud Build.
- Merging to
maintriggers a deploy to staging. - Production deploys require manual approval via Cloud Build UI or GitHub Actions.
🗂 Directory Overview¶
⚙️ Tooling¶
| Tool | Use Case |
|---|---|
| Vite | Fast frontend bundling |
| FastAPI | Lightweight backend framework |
| Cloud Build | CI/CD pipelines |
| Cloud SQL | PostgreSQL database |
| Secret Manager | API keys and environment configs |
| Cloud Logging | Logs and alerts |
| Vertex AI | Deploy Custom model for inferencing |
💡 Best Practices¶
- Keep PRs focused and under 300 LOC.
- Write tests wherever possible, especially for shared utilities and API endpoints.
- Run
prettierandeslintlocally before pushing. - Always test in staging before merging to main.
🧠 Getting Started¶
- Clone the repos above and read their respective
README.mdfiles. - Ask for access to:
- GitHub org
- GCP project
- Staging database (read-only)
- Setup
.envfiles (shared on Slack or 1Password) - Schedule an onboarding walkthrough with your mentor.
🔗 Helpful Resources¶
Welcome aboard! If you have any questions, reach out in the #product-team Slack channel.