The Argos Server is an open-source API service designed to power and manage Alternate Reality Game (ARG) experiences. Built by Project89, it provides a robust backend for creating, managing, and orchestrating interactive narrative experiences that blur the line between fiction and reality.
Argos enables ARG creators and players to:
- Create and manage complex narrative experiences
- Track player interactions and progress
- Manage player fingerprinting and identity verification
- Orchestrate real-time game events and triggers
- Monitor and analyze player engagement
- Scale experiences from small groups to massive audiences
Built with Node.js, Express, and Firebase, and running on Google Cloud Platform, Argos provides the infrastructure needed to run sophisticated ARG experiences while maintaining player immersion and game integrity.
Most contributors will want to focus on the API development in the server directory. Here's how to get started:
-
Prerequisites
# Install Node.js 18 or higher node --version # Install Firebase CLI npm install -g firebase-tools # Login to Firebase (needed for emulators) firebase login
-
Setup Project
# Clone the repository git clone https://github.com/project89/argos-server.git cd argos-server # Install dependencies npm install # Copy environment template cp server/env/.env.development.template server/env/.env.development
-
Run Development Environment
# Start Firebase emulators and API server npm run serve
The API will be available at http://localhost:5001 with Firebase emulators running locally.
The documentation is organized into two main locations:
-
/docs/- Repository-level documentation:- System Architecture - Overview of core systems and data flows
- Infrastructure Guide - Setting up GCP and Terraform
- HiveMind Overview - High-level HiveMind concepts
-
/server/docs/- Server implementation documentation:- Server Development Guide - Detailed guide for API development
- API Types Documentation - API type definitions and schemas
- Server README - Server-specific setup and guidelines
For core developers who need to work with the infrastructure:
- Infrastructure Guide - Setting up GCP and Terraform
- Deployment Guide - Deploying to production
- Security Guide - Security best practices and configuration
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Create an issue for bug reports or feature requests
- Join our Discord community for discussions
- Check out our Documentation for more details