Een Linear-stijl interface bouwen met Next.js en shadcn/ui
De interface van Linear is al jaren de gouden standaard voor projectmanagementtools. Snel, minimaal, met doordachte sneltoetsnavigatie en standaard een donker thema. Het is dan ook geen verrassing dat veel webontwikkelaars dromen van het recreëren van een vergelijkbare UX in hun eigen producten of hobbyprojecten.
Onlangs stuitte ik op de open-source Circle repository van Franse ontwikkelaar ln-dev7. Het is een strak taken-, project- en teamtracking dashboard gebouwd met Next.js, TypeScript en shadcn/ui. Het project heeft meer dan drieduizend sterren verzameld op GitHub, en daar zijn goede redenen voor.
Waarom Nog Een Dashboard Template
Iedereen die ooit complexe admin panels heeft gebouwd, kent de routine. Je moet een project scaffolden, een sidebar configureren, tabellen bouwen met filters, taakkaarten indelen, thema-switching instellen en responsiviteit voor mobiele schermen afstellen. Uiteindelijk gaat de helft van de tijd op aan basis layout in plaats van bedrijfslogica.
Circle biedt een kant-en-klare UI-skeleton die rechtstreeks uit Linear's product systeem lijkt te komen. Het bevat:
- Pagina's voor het bekijken van takenlijsten met filtering op status en prioriteit
- Een sectie voor het beheren van projecten en teams
- Doordacht dark mode en strakke typografie
- Gebruiksklare UI-componenten gebaseerd op Tailwind CSS
Dat gezegd hebbende, het is belangrijk om de beperkingen te begrijpen. De repository bevat alleen de frontend, niet een volledige backend met een database. Alle dataverwerking is afhankelijk van client state en mocks. Als je een kant-en-klare service voor je team nodig hebt, werkt Circle niet out of the box. Maar als uitgangspunt voor je eigen applicatie is het een uitstekend hulpmiddel.
Onder de Motorkap
De auteur heeft het wiel niet opnieuw uitgevonden en koos voor een vertrouwde stack.
De kern wordt gevormd door het Next.js React framework met App Router. Alle styling gaat via Tailwind CSS en componenten zijn gebouwd op shadcn/ui. Voor wie het niet kent: shadcn/ui is geen traditionele componentenbibliotheek zoals Material UI of Ant Design. In plaats van een zware afhankelijkheid te installeren, kopieer je de broncode van de componenten die je nodig hebt direct in je projectboom en pas je ze naar wens aan.
De code is geschreven in TypeScript. De directory structuur is standaard voor Next.js:
- De
appfolder bevat routing en applicatiepagina's - Folder
componentsbevat herbruikbare interface-elementen en shadcn/ui blokken - Folder
libbevat utilities en helpers voor het werken met styles - De
publicfolder bewaart statische icons en graphics
Dankzij dit alles is het project eenvoudig aan te passen. Wil je kleuraccenten wijzigen? Bewerk de Tailwind variabelen. Moet je een nieuw type taken tabel toevoegen? Kopieer een bestaand React component en pas de props aan.
Snel Aan de Slag en Werken met het Project
Je kunt het project lokaal in slechts een paar minuten opstarten. Je hebt Node.js en de pnpm package manager nodig.
Kloon eerst de repository:
git clone https://github.com/ln-dev7/circle.git
cd circle
Installeer dependencies en start de development server:
pnpm install
pnpm dev
Daarna is de app beschikbaar op http://localhost:3000. Het eerste dat opvalt is hoe vloeiend het aanvoelt. Overgangen tussen secties verlopen zonder vertragingen en de componenten zijn netjes ingedeeld.
Als je van plan bent Circle als fundament te gebruiken voor een echte service, moet je een backend aan de UI koppelen. De eenvoudigste weg is om Supabase, Prisma met PostgreSQL of Server Actions in Next.js te verbinden. Je zult de lokale mocks moeten herschrijven naar queries naar je database en authenticatie moeten instellen.
Wat is de Praktische Waarde
Ik zou twee hoofdscenario's willen uitlichten waar Circle je tijd bespaart.
Ten eerste is het een snelle start voor hobbyprojecten en prototypes. Als je een taaktracker, CRM-systeem of intern management panel voor een klant bouwt, eet UI layout meestal dagen werk op. Met Circle krijg je een kant-en-klaar design met verstandige spacing en een goed kleurenpalet.
Ten tweede is het een solide codebase voor het leren van shadcn/ui en Next.js benaderingen. Je kunt bekijken hoe de auteur layouts organiseert, complexe tabellen bouwt en interface-componenten configureert.
Wat Ontbreekt Er
De README van de repository is vrij summier. Hij bevat praktisch geen architectuurbeschrijving of handleidingen voor uitbreiding. Je moet het zelf uitzoeken, hoewel de code zelf schoon en leesbaar is.
Houd er ook rekening mee dat basisbesturingselementen hier afhankelijk zijn van standaard shadcn/ui patronen. Als je complexe drag-and-drop logica voor Kanban borden of real-time updates via WebSockets nodig hebt, moet dat allemaal vanaf nul worden gebouwd en geconfigureerd.
Circle is een solide open-source interface template voor iedereen die houdt van Linear's esthetiek en de Next.js met Tailwind CSS stack. Het project beweert geen kant-en-klare taaktracker out of the box te zijn, maar als uitgangspunt voor je eigen frontend bespaart het tientallen uren aan routinematige layout werk.
Als je een nieuw project plant met taaktracking of gewoon op zoek bent naar een verse shadcn/ui template, bekijk de repository dan zeker.
Gerelateerde projecten