>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
TypeScript

Jak zbudować interfejs w stylu Linear z Next.js i shadcn/UI

Interfejs Linear od dawna jest standardem dla narzędzi do zarządzania projektami. Szybki, minimalistyczny, z przemyślaną nawigacją klawiaturą i ciemnym motywem domyślnie. Nic dziwnego, że wielu web developerów marzy o odtworzeniu podobnego UX we własnych produktach lub projektach hobbystycznych.

Ostatnio natknąłem się na otwartoźródłowy projekt Circle francuskiego developera ln-dev7. To przemyślany dashboard do zarządzania zadaniami, projektami i zespołami, zbudowany z Next.js, TypeScript i shadcn/UI. Projekt zgromadził ponad trzy tysiące gwiazdek na GitHubie i są ku temu dobre powody.

Dlaczego jeszcze jeden szablon dashboardu

Każdy, kto próbował budować złożone panele administracyjne, zna ten schemat. Musisz rusztować projekt, skonfigurować sidebar, zbudować tabele z filtrami, rozłożyć karty zadań, ustawić przełączanie motywów i dostosować responsywność na ekrany mobilne. Pod koniec dnia połowa czasu idzie na podstawowy układ zamiast logikę biznesową.

Circle oferuje gotowy szkielet UI, który wygląda wprost z systemu produktowego Linear. Zawiera:

  • Strony do przeglądania list zadań z filtrowaniem według statusu i priorytetu
  • Sekcję do zarządzania projektami i zespołami
  • Przemyślany tryb ciemny i czystą typografię
  • Gotowe do użycia komponenty UI oparte na Tailwind CSS

To powiedziawszy, ważne jest, aby zrozumieć ograniczenia. Repozytorium zawiera tylko frontend, nie pełne backend z bazą danych. Cała obsługa danych opiera się na stanie klienta i mockach. Jeśli potrzebujesz gotowej do wdrożenia usługi dla swojego zespołu, Circle nie zadziała od razu. Ale jako punkt wyjścia do własnej aplikacji, to doskonałe narzędzie.

Pod maską

Autor nie wymyślał koła na nowo i postawił na znajomy stack.

W jego rdzeniu znajduje się framework React Next.js z App Router. Całe stylowanie odbywa się za pomocą Tailwind CSS, a komponenty są budowane na shadcn/UI. Dla nieznających: shadcn/UI to nie tradycyjna biblioteka komponentów jak Material UI czy Ant Design. Zamiast instalować ciężką zależność, kopiujesz kod źródłowy potrzebnych komponentów bezpośrednio do drzewa projektu i dostosowujesz je według własnego uznania.

Kod jest napisany w TypeScript. Struktura katalogów jest standardowa dla Next.js:

  • Folder app zawiera routing i strony aplikacji
  • Folder components przechowuje wielokrotnego użytku elementy interfejsu i bloki shadcn/UI
  • Folder lib zawiera narzędzia i helpery do pracy ze stylami
  • Folder public przechowuje statyczne ikony i grafikę

Dzięki temu projekt jest łatwy do dostosowania. Chcesz zmienić akcenty kolorystyczne? Edytuj zmienne Tailwind. Potrzebujesz dodać nowy typ tabeli zadań? Skopiuj istniejący komponent React i zmodyfikuj jego propsy.

Szybki start i praca z projektem

Możesz uruchomić projekt lokalnie w zaledwie kilka minut. Będziesz potrzebować Node.js i menedżera pakietów pnpm.

Najpierw sklonuj repozytorium:

git clone https://github.com/ln-dev7/circle.git
cd circle

Zainstaluj zależności i uruchom serwer deweloperski:

pnpm install
pnpm dev

Po tym aplikacja jest dostępna pod adresem http://localhost:3000. Pierwszą rzeczą, którą zauważasz, jest to, jak płynnie się go używa. Przejścia między sekcjami odbywają się bez opóźnień, a komponenty są starannie rozmieszczone.

Jeśli planujesz użyć Circle jako fundamentu dla prawdziwej usługi, będziesz musiał podłączyć backend do UI. Najprostsza ścieżka to połączenie Supabase, Prisma z PostgreSQL lub Server Actions w Next.js. Będziesz musiał przepisać lokalne moki na zapytania do bazy danych i skonfigurować uwierzytelnianie.

Jaka jest praktyczna wartość

Wyróżniłbym dwa główne scenariusze, w których Circle zaoszczędzi ci czas.

Po pierwsze, to szybki start dla projektów hobbystycznych i prototypów. Jeśli budujesz tracker zadań, system CRM lub wewnętrzny panel zarządzania dla klienta, układ UI zwykle pochłania dni pracy. Z Circle otrzymujesz gotowy design z rozsądnymi odstępami i właściwą paletą kolorów.

Po drugie, to solidna baza kodu do nauki podejść shadcn/UI i Next.js. Możesz podejrzeć, jak autor organizuje układy, buduje złożone tabele i konfiguruje komponenty interfejsu.

Czego projektowi nie brakuje

Plik README repozytorium jest dość skąpy. Praktycznie brakuje w nim opisu architektury lub przewodników po rozszerzaniu. Zostajesz z tym sam, choć sam kod jest czysty i czytelny.

Miej też na uwadze, że podstawowe kontrolki tutaj opierają się na standardowych wzorcach shadcn/UI. Jeśli potrzebujesz złożonej logiki drag-and-drop dla tablic Kanban lub aktualizacji w czasie rzeczywistym przez WebSockety, to wszystko trzeba będzie zbudować i skonfigurować od zera.

Circle to solidny otwartoźródłowy szablon interfejsu dla każdego, kto lubi estetykę Linear i stack Next.js z Tailwind CSS. Projekt nie twierdzi, że jest gotowym do użycia trackerem zadań out of the box, ale jako punkt wyjścia do własnego frontendu oszczędza dziesiątki godzin rutynowej pracy nad układem.

Jeśli planujesz nowy projekt z śledzeniem zadań lub po prostu szukasz świeżego szablonu shadcn/UI, koniecznie sprawdź repozytorium.

Powiązane projekty