Get Started
Ready to contribute? Here’s how to get set up:
Quick Start
- Clone the infrastructure repo (easiest way to get everything):
git clone git@github.com:HelloAllyTech/infra.git cd infra ./bootstrap.shThis will clone and set up all Ally repositories for you!
-
Choose your area of interest and navigate to that repository
- Check out our Contributing Guide for detailed setup instructions for each repo
Development Environment Setup for Web & Backend
For developers focusing on the web and backend applications (ally-web and ally-be), we’ve created a script to get you up and running in minutes.
After running the main ./bootstrap.sh script from the infra repository to clone all project repositories, you can use the dev_env.sh script to start the development servers.
Prerequisites:
- You have cloned all the ally repositories, for example by using the
infra/bootstrap.shscript. - You are in the root of the project workspace (the directory that contains
ally-web,ally-be, etc.).
Start the development environment:
./infra/dev_env.sh
This single command will:
- Start all backend services in
ally-beusing Docker Compose. - Build and start all frontend applications in
ally-web. - Display the URLs for the running applications.
Once the script is finished, you can access the applications at:
- App (Admin Dashboard):
http://localhost:8081 - Admin (Helpline):
http://localhost:8080 - Search (Web):
http://localhost:3000
To stop the services, you can run docker compose down inside the ally-be and ally-web directories.
First Time Here?
Not sure where to start? Here are some suggestions:
- Frontend developers: Check out ally-web for React/Next.js work
- Mobile developers: Head to ally-mobile for React Native
- Backend developers: Explore ally-be for API development
- AI/ML enthusiasts: Dive into ally-ai or ally-ai-learn
- DevOps engineers: Start with infra
How We Track Issues
We use GitHub Issues across all our repositories to track bugs, feature requests, and improvements. Here’s how it works:
- Repository-specific issues: Each repo has its own issue tracker for problems specific to that codebase
- Labels: We use labels like
bug,enhancement,good first issue,help wanted, etc. - Good First Issues: Look for the
good first issuelabel to find beginner-friendly tasks - Milestones: We organize work into milestones for better project planning
Finding issues to work on:
- Browse issues in the repository you’re interested in
- Look for
good first issueorhelp wantedlabels - Check if someone is already assigned
- Comment on the issue to express interest before starting work
Development Environment
Each repository has its own setup instructions, but here are the common requirements:
General Requirements
- Git
- Docker and Docker Compose (recommended via Colima on macOS)
- Your preferred code editor (VS Code recommended)
Repository-Specific Setup
Visit each repository’s README for detailed setup instructions:
- ally-web - Node.js, npm/yarn
- ally-mobile - React Native CLI, Xcode/Android Studio
- ally-be - Node.js, PostgreSQL, Redis
- ally-ai - Python 3.12, Poetry
- ally-ai-learn - Python 3.12, LiveKit
- infra - Terraform, Docker
macOS Development Setup (Optional)
If you’re developing on macOS, you can use Colima as a lightweight, free alternative to Docker Desktop for container virtualization.
Why Colima?
- Free and open-source - No licensing costs
- Lightweight - Uses fewer resources than Docker Desktop
- Fast - Quick startup and container operations
- Compatible - Works seamlessly with all Docker commands
Quick Setup
Our centralized Colima setup is available in the infra repository. You can install it with a single command:
# One-time global installation
curl -fsSL https://raw.githubusercontent.com/HelloAllyTech/infra/main/colima/install.sh | bash
This will:
- Install Colima and required dependencies
- Set up the global
docker-switchcommand - Configure your Docker environment for Colima
Usage
After installation, you can easily switch between Docker environments:
# Switch to Colima (lightweight)
docker-switch colima
# Switch to Docker Desktop (if you have it installed)
docker-switch desktop
Documentation
For complete setup instructions, troubleshooting, and advanced configuration:
Need Help?
- Documentation: Each repository has its own README with detailed setup instructions
- Issues: Ask questions by creating an issue in the relevant repository
- Contributing Guide: Check our Contributing Guide for detailed information
Explore our Tech Stack to learn more about the technologies we use.