-
Notifications
You must be signed in to change notification settings - Fork 2
Getting Started
Welcome to formul.ai β an open-source platform for AI-powered form collection and analysis.
This guide will help you run the project locally, understand the tech stack, and learn how to join and contribute.
Make sure you have the following installed:
- Node.js LTS (v18+)
-
Java 23 (for the
surveyservice) - Python 3.12+
-
uvβ fast Python package manager (used instead of pip) - Docker & Docker Compose
- Git
git clone https://github.com/opendexcom/formul.ai
cd formul.aiStart everything with:
docker compose up --buildThis starts:
- Frontend served via Nginx
- Survey service (Java 23)
-
Processing service (Python 3.12 using
uv) - PostgreSQL database
- Nginx reverse proxy (exposes all services on port 80)
Once running, access the app at:
π http://localhost
formul.ai/
βββ frontend/ # React + @rjsf/core for the form UI
βββ survey/ # Spring Boot app (Java 23) - form handling logic
βββ processing/ # Python 3.12 + uv - AI analysis engine
βββ gateway/ # Nginx configuration (frontend and routing)
βββ docker-compose.yml # Main Docker Compose config
βββ .env # Local environment variablescd frontend
npm install
npm run devcd survey
./mvnw spring-boot:runcd processing
uv venv .venv
source .venv/bin/activate
uv install
python app.pyThis will:
- Create a virtual environment using
uv - Install dependencies from
pyproject.toml - Run the Python analysis service
Make sure .venv/ is excluded from version control (already in .gitignore).
Weβre building formul.ai as a community project and welcome contributors!
-
Join our Discord to introduce yourself:
π https://discord.gg/E43NyjvNUh -
We'll help you get onboarded based on your interests
-
Collaborate via GitHub (Issues & Discussions)
We welcome contributions in:
- AI/LLM pipelines (Whisper, OpenAI, Mistral, etc.)
- Form schema design and UX
- Docker/DevOps
- Documentation and testing
Weβre excited to build this with the open-source community.
π Check out the Contributing Guide to get started.