Self-hosted test planner inspired by Azure Test Plans
Kingyo means goldfish 🐠 in Japanese - a lightweight, no-fuss test planner your team can start using today.
- Create & manage test plans and cases with ease
- Instant setup - start using in seconds
- Self-host on your own infrastructure
Try it out here.
Use the following credentials to log in:
Username: kingyo-demo
Password: guest1234!
- Clone this repository:
git clone https://github.com/spider-hand/kingyo.git
cd kingyo- Set up environment variables:
cp .env.example .env
cp server/.env.example server/.env
cp client/.env.example client/.envChange the values if needed.
- Build and start the services:
docker-compose up --build -d- Set up the database:
# Create a superuser based on the environment variable and seed initial data
docker-compose exec server python manage.py seed
# Create a superuser
docker-compose exec server python manage.py createsuperuser- Access the application
- Frontend (Vue): http://localhost:5173
- Backend (Django): http://localhost:8000
- Storage (MinIO): http://localhost:9001
Docker services management:
# Start services
docker-compose up -d
# Stop services
docker-compose down
# Rebuild services
docker-compose up --build
# View logs
docker-compose logs server
docker-compose logs clientDjango management:
# Create migrations
docker-compose exec server python manage.py makemigrations
# Run migrations
docker-compose exec server python manage.py migrate
# Seed database
docker-compose exec server python manage.py seed
# Create superuser
docker-compose exec server python manage.py createsuperuser
# Collect static files
docker-compose exec server python manage.py collectstatic
# Django shell
docker-compose exec server python manage.py shellDatabase management:
# Access PostgreSQL
docker-compose exec db psql -U user -d kingyo_dbThis project uses OpenAPI schema generation to keep the frontend and backend in sync. Here's the typical development workflow:
- Backend API schema update
When you make changes to Django API, run:
# This will update OpenAPI schema (schema.yaml)
docker-compose exec server python manage.py migrate- Frontend API client update
# Navigate to client directory
cd client
# Generate API client
npm run generate:apiYou need to set up virtualenv to run pre-commit hook.
# Navigate to server directory
uv virtualenv
# Activate virtualenv
source .venv/bin/activate
# Install dependencies
uv sync- Bug fix PRs are always welcome.
- UI changes or new features should not be submitted without prior discussion. Please open an issue first to propose and discuss them.
Thanks for your understanding and contributions.