jubayer910 / Admin-panel
git clone https://github.com/jubayer910/Admin-panel.git
—
+0
stars, 24h · #37,042
+~0
stars, 7 days · #42,513
+130
stars, 30 days · #5,595
130
★ total
30
forks · 0 open issues
Star history (as recorded here)
LanguageTypeScript
LicenseMIT
Created2026-09-26 (26d ago)
Last push26d ago
Watchers0
OwnerUser
Links
- GitHub: github.com/jubayer910/Admin-panel
- Homepage: https://admin-panel-three-puce.vercel.app
- Releases · Issues · Hacker News mentions
README excerpt
# Admin panel An admin panel for a designer's portfolio site: projects, bookings, analytics, media and every line of text on the site, in one place. It is drawn in the site's own line art (engraved hairlines and a cross-hatch band instead of boxes), with a light and a dark theme. Built by Maniruzzaman Jubayer for his portfolio, and open-sourced here with made-up data. **Live demo:** admin-panel-three-puce.vercel.app ## What is in it - **Overview**: this week's numbers, the next calls and every part of the site at a glance. - **Bookings**: a CRM-style table of intro calls. Tabs, search, filters (plan, interests, source, call date, booked date), sortable columns, columns you can hide, bulk select, CSV export, and a side panel with everything about a booking. - **Analytics**: first-party and cookie-free. Trends, the pricing funnel, button clicks, sources and campaigns, pages, time on page, scroll depth, a weekday by hour heatmap and the audience. - **Projects**: drag to reorder (or use the keyboard), list and grid views, filter by category, homepage on/off per project. - **Media library**: grid or table, sortable, upload by drag and drop. - **Content**: text and labels, the About page, pricing plans, testimonials, FAQs, client logos, photos and categories. Long forms save from a sticky bar; lists open each item in a dialog. - **Look and feel**: engraved line art, light, dark or the system's theme, a sidebar that collapses to icons, responsive down to a phone, Hugeicons throughout. ## How the demo works The real admin runs on Cloudflare (Workers, D1, R2). This repo has no backend: the same SQLite schema runs in your browser with sql.js, filled with a year of made-up projects, bookings, visits and clicks. Every page and every save works, and nothing leaves the browser; refresh and it starts over. - `lib/db.ts` is the database: it loads sql.js, creates the tables and seeds them. - `lib/demo/schema.ts` is the schema, `lib/demo/seed.ts` the made-up data. - `app/admin/actions.ts` holds every save and delete. - `public/media/demo/` holds the artwork, drawn by `scripts/make-art.mjs` (no stock images). Only the owner is real: the name, the photo and the profile links. Every project, client, person, booking and visit is invented. ## Run it [code] Then open localhost:3000/admin. ## Make it yours for real 1. Put `lib/db.ts` back on a server database (D1, SQLite, Postgres). Keep `all`, `one`, `run` and `batch`; the queries are plain SQLite. 2. Mark `app/admin/actions.ts` with `"use server"` and guard each action with a real `requireAdmin()` in `lib/auth.ts`. 3. Point uploads (`app/admin/upload-client.ts`) at your storage. ## Built with Next.js 16, React 19, CSS Modules, Hugeicons (free set), dnd-kit and sql.js. ## License MIT, © Maniruzzaman Jubayer.