Skip to content

axelfrache/questify

Repository files navigation

Questify

CI MIT License Java Spring Boot TypeScript React Docker Kubernetes

Description

Questify is a gamified task management application designed to help users progress consistently over time.

Instead of treating tasks as simple checklists, Questify reframes them as quests that contribute to a personal progression system inspired by RPG mechanics with XP, levels, narrative grades and achievements.

Core Principles

  • Execution over planning: XP is earned by completing quests.
  • Narrative progression: grades represent a journey (Initiate → Traveler → Explorer…), not a ranking.
  • Transparency: simple XP rules, predictable progression.
  • Extensible architecture: designed for long-term evolution.

Architecture

Questify is built as a microservices application:

Service Role Port
questify-auth-service Authentication, JWT, user management 8081
questify-quest-service Quests, templates, recurrence 8082
questify-project-service Projects 8083
questify-progression-service XP, levels, achievements 8084
questify-stats-service Statistics 8085
questify-admin-service Admin panel 8086
gateway Nginx reverse proxy 8080
frontend React/Vite UI 80

Getting Started

Prerequisites

  • Docker & Docker Compose
  • Node.js 20 + pnpm (frontend development only)
  • Java 21 (service development only)

Running

Fully dockerized (recommended)

Copy the environment file and start all services:

cp .env.example .env
docker compose up -d --build

Then go to:

To stop:

docker compose down

Use -v to also remove volumes.

Frontend only (development mode)

cd frontend
pnpm install
pnpm run dev

http://localhost:5173

Individual service (development mode)

cd services/questify-<service-name>
./mvnw spring-boot:run

Code Quality

  • Services: Spotless with Google Java Format
  • Frontend: ESLint and Prettier

Commands

Service (run from services/questify-<service-name>):

./mvnw spotless:check  # Check formatting
./mvnw spotless:apply  # Fix formatting

Frontend:

cd frontend
pnpm run lint          # Check linting
pnpm run format:check  # Check formatting
pnpm run format        # Fix formatting

Warning: Formatting and linting are checked by CI on every push. Fix them before pushing.

License

This project is distributed under MIT License.

About

Questify is an open-source, gamified task manager focused on progression and achievements.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors