AutomaInfraCore is the core infrastructure powering the Automa application, providing both backend services and shared application components. This monorepo contains everything needed to run the Automa platform, including the server-side components and shared client libraries.
The repository is organized into several main components:
The server-side component built with Vapor 4, providing:
- RESTful API endpoints
- Database models and migrations (PostgreSQL)
- Authentication and authorization
- Background job processing
- Integration with external services (Twitter, OpenAI, etc.)
- Metrics and monitoring (Prometheus, Loki)
Contains the client-side applications and shared components:
- AutomaApp: Main iOS/macOS application
- AutomaAppShared: Shared code between platforms
- Network layer
- Data models
- Business logic
- AutomaUIKit: Shared UI components and theming
Shared data models and type definitions used across the application.
- Cross-Platform Support: Native applications for both iOS and macOS
- Modern Architecture: Built with Swift 6.2 and Swift Concurrency
- Scalable Backend: Powered by Vapor 4 with PostgreSQL
- AI Integration: OpenAI integration for intelligent features
- Social Media Integration: Post Tweet via Twitter API integration
- Monitoring: Built-in metrics and logging
- Backend: Swift 6.2, Vapor 4, PostgreSQL
- iOS/macOS: SwiftUI
- Infrastructure: Docker, AWS (via Soto)
- Hosting: Fly.io
- CI/CD: GitHub Actions
- Monitoring: Prometheus, Loki, Grafana
- Dependencies:
- Vapor ecosystem (Fluent, Leaf, JWT)
- Alamofire for networking
- OpenAI SDK
- TwitterAPIKit
- SwiftSoup for HTML parsing
A comprehensive setup guide for self-hosting Automa or running it locally will be provided in the future. This will include:
- Prerequisites and system requirements
- Database setup and configuration
- Environment variables and secrets
- Building and running the backend
- Building and running the client applications
- Deployment options
Contributions are welcome!
This project is open source and available under the MIT License. See the LICENSE file for more information.
For inquiries, contact the Automa team at william@getautoma.app or ceo@getautoma.app.