Advanced Economic Intelligence & Analytics for Dofus Touch
Dofus Pulse is a data-driven web application for Dofus Touch, built to provide a comprehensive view of the in-game economy.
It combines market analytics, historical price trends, sales performance metrics, profit calculations, gearset planning, and portfolio monitoring, giving players the tools to make informed trading and crafting decisions.
Run locally
·
Report Bug
·
Request Feature
prview.mp4
I built Dofus Pulse to improve my skills in full-stack development, working on backend technologies like Spring Boot and Java, frontend with TypeScript and React, as well as databases, testing, CI/CD, and infrastructure.
Along the way, I also learned a lot about handling time-series data, performing data-driven calculations, and optimizing queries.
- Backend: Spring Boot 3.x, Java 21, Maven
- Frontend: React, TypeScript, Vite, TailwindCSS
- Database: PostgreSQL (with TimescaleDB extension to efficiently store and query high-frequency historical market data)
| Feature | Description | Status |
|---|---|---|
| Multi-Item Offer Analysis | Evaluate trade offers containing multiple items by comparing their total market price or crafting cost. Helps quickly analyze trade profitability. | ✅ Available |
| Gearset Management & Cost Planning | Create and manage gear set plans, current item prices, and crafting trends to optimize set acquisition cost. | ✅ Available |
| Market Analytics | Track historical market prices of items, analyze trends, and monitor market activity metrics over time. | ✅ Available |
| Sales Metrics | Analyze item performance on the market: number of items sold, sales volume, listing counts, average sold duration. | ✅ Available |
| Asset Portfolio | Track owned items, acquisition cost, current market value, potential profit/loss, and realized profit/loss. | 🚧 Incoming |
| Price Watcher / Alerts | Create watchlists and alerts for items with specific user-required effects, notifying when items reach target prices or market changes occur. | 🚧 Incoming |
- Java 21 – For the Spring Boot backend.
- Node.js & npm – For the React/Vite frontend.
- Docker – Required for Testcontainers and the database.
.
├── apps
│ ├── api # Springboot backend
│ └── web # React Frontend
├── env.docker # Environment variables template
└── docker-compose.yml
The backend requires a running database. Start the db service via Docker:
docker compose up -d timescaledbThe services require environment variables defined in env.docker. Make sure to inject them into your IDE or terminal:
The backend uses Testcontainers . Docker must be running for integrations tests to run correctly.
cd apps/api
./mvnw spring-boot:run -Dspring-boot.run.profiles=localcd apps/web
npm install
npm run devTo run the entire stack (API + Web + DB) in a containerized environment:
# Start the full stack using the environment file
docker compose --env-file env.docker up --build -d
# Stop and remove containers
docker compose down