This project sets up the Iris Test Generation Tool as a set of microservices orchestrated by Docker Compose.
- /ui: Contains the React.js frontend application.
- /backend: Contains the Node.js/Express.js backend application with Prisma.
- /agent: Contains the Python/Langchain AI agent.
- docker-compose.yml: Defines the services, networks, and volumes for Docker Compose.
- /database: Data for the PostgreSQL database is persisted in a Docker volume defined in
docker-compose.yml.
- Docker
- Docker Compose
-
Clone the repository (if you haven't already):
# git clone <repository-url> # cd <repository-name>
-
Build and run the services using Docker Compose:
docker-compose up --build
This command will:
- Build the Docker images for the
ui,backend, andagentservices if they don't exist. - Pull the
postgres:latestimage for thedatabaseservice. - Start all the defined services.
- Build the Docker images for the
-
Accessing the services:
- UI: http://localhost:3000
- Backend: http://localhost:8000
- Agent: http://localhost:8001 (or as configured)
- Database: Accessible on port
5432(e.g., for a database client)
The backend service provides API documentation using Swagger UI. Once the backend server is running, you can access the Swagger UI by navigating to:
- Swagger API Docs: http://localhost:8000/api-docs
This interface allows you to view and interact with the available API endpoints.
- To stop the services:
docker-compose down
- Each service (
ui,backend,agent) has its own Dockerfile and can be developed independently. - Changes to the source code in the mounted volumes (
./ui:/app/ui, etc.) will trigger auto-reloading if configured within the respective service's development server.