Admin dashboard for managing products, payments, customers and server settings.
Part of the FreshDonate open‑source donation platform for Minecraft servers. See also: Backend · Shop · Minecraft Plugin · Russian README
FreshDonate is a self‑hosted donation system for Minecraft servers. It lets you sell ranks, items, currency and any other in‑game goods through your own storefront, accept payments via multiple providers, and deliver purchases to players automatically the next time they are online - without any third‑party commission or lock‑in.
The platform is split into four repositories:
| Repository | Role |
|---|---|
| fresh-donate-backend | Fastify API, payments, webhooks, delivery queue |
| fresh-donate-shop | Public storefront for players (Nuxt) |
| fresh-donate-panel (this repo) | Admin panel for owners (Nuxt) |
| fresh-donate-plugin | Minecraft plugin that delivers purchases in‑game |
The admin panel is what the server owner uses. It talks to the backend over the same REST API as the shop, but with an admin JWT. From here you can:
- manage products (create / edit / duplicate / delete);
- configure payment providers (YooKassa, Heleket) and payment options shown to players;
- view payments, confirm or retry delivery manually;
- browse customers and their purchase history with per‑currency stats;
- see dashboard stats and revenue charts;
- edit shop settings (branding, copy) and global settings (RCON, webhooks).
- Nuxt 4 (Vue 3)
- Nuxt UI 4 + Tailwind CSS 4
- Pinia for state, @vueuse/core helpers
- @unovis/vue for charts
- date-fns, zod
- TypeScript
- Node.js 20+
- A running fresh-donate-backend with admin credentials
npm install
npm run devThe panel starts on http://localhost:3000 and expects the backend on http://localhost:3001. Override via environment variables (NUXT_PUBLIC_API_BASE and friends - see nuxt.config.ts).
Default admin credentials match the backend: admin / admin. Change them in production.
npm run build
npm run preview # optional local previewDockerfile and docker-compose.yml are included for deployment alongside the backend.
docker compose up -d --buildapp/
app.vue
app.config.ts
assets/ styles, images
components/ UI components (tables, forms, charts, ...)
composables/ useApi, useAuth, ...
layouts/ default / auth layouts
middleware/ auth guards
pages/ dashboard, products, payments, customers, settings, ...
stores/ Pinia stores (auth, products, ...)
types/ shared TypeScript types
public/ static assets
server/ Nuxt server routes (if any)
| Script | What it does |
|---|---|
npm run dev |
Dev server with hot reload |
npm run build |
Production build |
npm run generate |
Static site generation |
npm run preview |
Preview production build |
npm run lint |
ESLint |
- fresh-donate-backend - REST API this panel manages
- fresh-donate-shop - public storefront
- fresh-donate-plugin - Minecraft delivery plugin
See LICENSE.