Documentation Getting started
Quick Start Guide
Get your project up and running in just 5 minutes with this quick start guide.
Prerequisites
Before you begin, make sure you have:
- Node.js >=20.18.1 installed (run
npm run fix-node
to install) - NPM >=10.9.2 installed (run
npm run fix-node
to install) - A code editor (VS Code recommended)
- Git installed on your system
- Any type of database(we recommend Supabase)
Installation
- Fork the repository
git clone https://github.com/davidparys/sprintkit cd sprintkit
- Install dependencies
npm install
- ** Run the onboarding script (automatic setup)**
The wizard will guide you through how to setup the different environment variables and services.npm run onboard
- Set up environment variables (manual setup)
cp .env.example .env
Edit the.env
file with your configuration:DATABASE_URL="your-database-url" NEXTAUTH_SECRET="your-secret-key"
- Push your database to your supabase instance
npm run db:generate && npm run db:push
- Start the development server
npm run dev
If you encounter node version mismatch
If you encounter a node version mismatch, run npm run fix-node
to install the correct version for this project.
A node version manager is required to install the correct version for this project, we recommend using nvm.
Your First Steps
- Visit your application Open http://localhost:3000 in your browser
- Create your first user
Navigate to
/auth/register
and create an account - Explore the dashboard After registration, you'll be redirected to the dashboard
Register and set yourself as an admin
- Register as a new user
Navigate to
/auth/register
and create an account If your .env variables are set correctly you will receive a confirmation email and you can login to your account. - Set yourself as an admin
- In a separate terminal, run
npm run db:studio
to open the database studio. - Navigate to the
users
table and find your user. - Note down your users
uuid
- Update the
role
column toadmin
to set yourself as an admin (this is for better-auth to be able to ban & impersonate). - Then go to
roles
table and fetch theuuid
for the default roleAdministrator
(it should exist as it is seeded by default). - Go to
user_roles
table and create a new row with the following values:Column Value user_id
your users uuid
role_id
the uuid
of theAdministrator
role - Save the changes and you are now an admin!
Next Steps
- Read the API Documentation to understand the available endpoints
- Check out Webhooks for real-time notifications
- Customize your application by editing the components in
/components
Need Help?
- Check our GitHub Issues
- Read the full documentation