Cutting-edge tools powering Angular full-stack development.
Overview
The spartan repository is a work in progress project with two main efforts:
- 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.
- 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:
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:
- 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
- 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.