Skip to content

ColinEspinas/starter

Repository files navigation

Starter

Battery included Nuxt based starter template for my projects. Created to get a great DX, UX and UI as fast as possible.

Main Features

  • 🛡️ Strongly-typed from database to UI components
  • 🔐 Secure authentication system with flexible roles and permissions
  • 📈 GDPR & CCPA compliant analytics
  • 💸 Payment processing
  • 🌍 i18n support

Built with

Setup

This project uses devbox to provide a consistent development environment. Make sure you have it installed before continuing.

Once you have devbox installed, run the following commands to get started:

# Enter devbox shell
> devbox shell

# Install package managers and dependencies
> pnpm install

# Init postgres and create dev database
> devbox run db:init
> devbox run db:up
> devbox run db:create

# Generate migrations (needed if you deleted .drizzle to reset the migrations)
> pnpm migration:generate

# Run migrations
> pnpm migration:run

# Start the app
> pnpm dev

# (Optional) Start Drizzle studio
> pnpm studio

Development

To get the project running locally, you'll need to start the app and the database:

# Enter devbox shell
> devbox shell

# Start the database
> devbox run db:up

# Start the app
> pnpm dev

To stop the database, run:

> devbox services stop postgresql

Migrations

Using drizzle as an ORM, we have a lot of tools to manage database migrations:

# Generate new migrations
pnpm migration:generate

# Drop existing migrations
pnpm migration:drop

# Pull migrations from database
pnpm migration:pull

# Run migrations
pnpm migration:run

Deployment

TODO: Add deployment instructions

About

Battery included Nuxt based starter template for my projects. Created to get a great DX, UX and UI as fast as possible.

Topics

Resources

Stars

Watchers

Forks