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.
- 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.
The application is divided in 2 parts: backend and frontend.
- Java 21
- Node.js 20
- Docker & Docker Compose
Backend:
cd backend
./mvnw spring-boot:runFrontend:
cd frontend
npm install
npm run devThen go to:
- Frontend: http://localhost:5173
- Backend API: http://localhost:8080
- Swagger UI: http://localhost:8080/swagger-ui.html
docker compose up -d --buildThen go to:
- Frontend: http://localhost:80
- Backend API: http://localhost:8080
To stop the application:
docker compose downUse -v if you want to remove volumes too.
For code quality, we use:
- Backend: Spotless with Google Java Format
- Frontend: ESLint and Prettier
Backend:
cd backend
./mvnw spotless:check # Check formatting
./mvnw spotless:apply # Fix formattingFrontend:
cd frontend
npm run lint # Check linting
npm run format:check # Check formatting
npm run format # Fix formattingWarning: Those are mandatory before pushing code, if it is not done the CI will fail.
This project is distributed under MIT License.