Spartan screenshot

Spartan

Author Avatar Theme by Spartan ng
Updated: 23 May 2025
1914 Stars

Cutting-edge tools powering Angular full-stack development.

Categories

Overview

The spartan repository is a work in progress project with two main efforts:

  1. spartan/ui - an effort to port the shadcn/ui project into the Angular ecosystem. This involves creating unstyled primitives similar to Radix using Angular Cdk and other community solutions, and then adding the shadcn styles to these primitives.
  2. spartan/stack - an example application running on Supabase, Drizzle, Analog, tRPC, Tailwind, Angular, and Nx. It serves as both the documentation page introducing the stack and UI library.

Features

  • Porting of 30 out of 41 UI primitives from shadcn/ui to Angular ecosystem
  • Storybook project for UI primitives
  • Cypress e2e testing set up for storybook
  • Example application running on multiple technologies including Supabase, Drizzle, Analog, tRPC, Tailwind, Angular, and Nx
  • Documentation page introducing the stack and UI library

Installation

To install and run the spartan/stack example application, follow these steps:

Prerequisites

  • Install yarn (or a different package manager)
  • Set up a Supabase account (free)
  • Install NodeJs (version 18.13.0)

Install Dependencies

Run the following command in the project directory to install the dependencies:

yarn install

Set up DB

  • This project requires Prisma for database management.
  • Use Supabase as the database provider (an open-source alternative to Firebase with a Postgres database, Authentication, instant APIs, Edge Functions, Realtime subscriptions, and Storage).

Connect to DB

There are two ways to connect to Supabase:

  1. Connecting directly to your managed instance on supabase.com
    • Create an account and set up your first project.
    • Add the following code snippet to a .env file at the root of your Nx workspace:
      // .env
      SUPABASE_URL=your_supabase_url
      SUPABASE_KEY=your_supabase_key
      
  2. Connecting to a local Supabase instance
    • Follow the Supabase guide for instructions on setting up a local instance.

Create Supabase project

  • Start Supabase services with the appropriate Docker configuration.

Summary

The spartan repository is an ongoing project with two main efforts: porting the shadcn/ui project to Angular ecosystem and creating an example application running on various technologies. It provides UI primitives, a storybook project, e2e testing, and a documentation page for the stack and UI library. To use the example application, install the prerequisites, dependencies, and connect to a Supabase instance.