Skip to content

Navigation Menu

Sign in
Sign up

Repository files navigation

🫡 Kiko

GitHub License: MIT License

A simple but elegant pointing poker app for agile teams to estimate user stories and tasks.

πŸ“š Meaning of Kiko

Kiko is a Hawaiian word meaning "dot," "point," or "spot" - referring to small marks or punctuation. In the context of this app, it refers to marking estimates for user stories and tasks during agile planning sessions.

πŸ‘¨β€πŸ’» Development

πŸ““ Prerequisite Dependencies

  • rust (v1.88.0 or later)

  • node (v20.0.0 or later) for npx

    • Install tailwind globally npm i -g tailwindcss

πŸƒβ€β™‚οΈ Running Locally

./bin/dev (--release)

  • This runs the entire app in development or release mode
  • The frontend is served at http://localhost:8080 and the backend at http://localhost:3030 respectively
  • The frontend and backend are reloaded automatically when you make changes to the code
    • The frontend is built using trunk and the backend is built using cargo watch, read the documentation on each tool for more details

πŸ“– Documentation

To generate documentation for all workspace crates without external dependencies:

cargo doc --no-deps --document-private-items

Add --open to automatically open the docs in your browser after generation.

πŸ”§ Pre-commit Hooks

Pre-commit hooks are configured to run cargo fmt and cargo clippy automatically on each commit:

# Install pre-commit hooks (one-time setup)
pre-commit install
# Run hooks manually on all files
pre-commit run --all-files

The hooks will format code and check for linting issues, treating warnings as errors.

🐳 Docker Deployment

For production deployment with optimized builds and compression:

# Development mode
docker-compose up
# Production mode with resource limits
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up
# Build all images
docker-compose build
# Build individual services
docker-compose build frontend
docker-compose build backend

Building and Pushing Images

Use the convenient build scripts to create and push Docker images:

# Build images locally (defaults to 'sleazyrom' username)
./bin/docker/docker-build [username]
# Push images to Docker Hub
./bin/docker/docker-push [username]
# Build and push in one command
./bin/docker/docker-build-and-push [username]

Examples:

# Build with custom username
./bin/docker/docker-build myusername
# Build and push with default username
./bin/docker/docker-build-and-push

Docker Architecture

  • Multi-stage builds: Optimized Dockerfiles for both services
  • Frontend: Rust 1.88 builder β†’ Alpine runtime with nginx and brotli compression
  • Backend: Rust 1.88 builder β†’ Debian slim runtime
  • Compression: Brotli compression provides 70-85% size reduction for frontend assets
  • Security: Non-root containers with health checks

πŸš€ Production Deployment

For complete production deployment with SSL/TLS certificates and domain setup:

See DEPLOYMENT.md for detailed production deployment instructions.

About

Kiko is a sleek pointing poker application written in Rust.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /