Skip to content

lbn21/magi-dash

Repository files navigation

MagiDash

Small Next.js app that lists dashboards from MySQL. Built for the MagiDash Corp interview brief — see BRIEF.md.

Stack: Next.js 16 (App Router), TypeScript, mysql2/promise (no ORM), Zod, Vitest.

Run

docker-compose up --force-recreate --build

Tear down with docker-compose down -v. The -v wipes the DB volume so the seed re-applies on the next up.

Develop

npm install
docker-compose up mysql-db -d
npm run dev

Set DB_HOST=127.0.0.1 in .env.local so the dev server reaches the compose-managed DB.

Test

npm test
npm run typecheck

Smoke tests

./smoke_tests.sh

Decisions

Short ADRs for the choices that are not obvious from the code:

Notes

Built and tested on macOS (Apple Silicon, Docker Desktop). The mysql:5 image runs under Rosetta via platform: linux/amd64 — first boot of the DB is slower because of that.

About

Admin panel for managing dashboards — Next.js, TypeScript, MySQL.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors