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.

Getting Started

The application is divided in 2 parts: backend and frontend.

Prerequisites

  • Java 21
  • Node.js 20
  • Docker & Docker Compose

Running

Locally (development mode)

Backend:

cd backend
./mvnw spring-boot:run

Frontend:

cd frontend
npm install
npm run dev

Then go to:

Locally (fully dockerized)

docker compose up -d --build

Then go to:

To stop the application:

docker compose down

Use -v if you want to remove volumes too.

Code Quality

For code quality, we use:

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

Commands

Backend:

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

Frontend:

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

Warning: Those are mandatory before pushing code, if it is not done the CI will fail.

License

This project is distributed under MIT License.

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published