Get Started

Prerequisites

To use ShipFast you will first need to have the following installed:

  • Node.js 18.17+
  • To run ShipFast you will need to have Node.js and NPM installed on your machine. You can download it from the Node.js website.

  • Git
  • Git is a version control system and you will need it to get the code from the repository. You can download it from the Git website.

  • Stripe CLI
  • Stripe CLI is a command-line tool that will allow you to test the webhook process. You can download it from the Stripe CLI documentation.

Installation

TS with Next Auth & Mongo

Terminal

1git clone https://github.com/Marc-Lou-Org/ship-fast-ts.git [YOUR_APP_NAME]
2cd [YOUR_APP_NAME]
3npm install
4git remote remove origin
5npm run dev

Rename .env.example to .env.local

Terminal

1mv .env.example .env.local

Open http://localhost:3000 to see your site.

Next Auth & Mongo Project Structure

config.ts file

It is where you configure your app. Each key is documented to know how and why it's used. Have a thorough look at it: it is the backbone of the app.

.env file

Rename the .env.example file to .env.local. Change NEXTAUTH_SECRET to anything else. The file content should look like this:

.env.local

1NEXTAUTH_URL=http://localhost:3000
2NEXTAUTH_SECRET=uhf3874y7fh387u87653947u4rh9394hf
3GOOGLE_ID=
4GOOGLE_SECRET=
5EMAIL_SERVER=
6MAILGUN_API_KEY=
7MONGODB_URI=
8STRIPE_PUBLIC_KEY=
9STRIPE_SECRET_KEY=
10STRIPE_WEBHOOK_SECRET=

TS with Supabase

Terminal

1git clone https://github.com/Marc-Lou-Org/ship-fast-ts.git [YOUR_APP_NAME]
2cd [YOUR_APP_NAME]
3git checkout supabase
4npm install
5git remote remove origin
6npm run dev

Rename .env.example to .env.local

Terminal

1mv .env.example .env.local

Go to the Supabase dashboard, create a new project and paste your 2 Supabase environment variables NEXT_PUBLIC_SUPABASE_URL & NEXT_PUBLIC_SUPABASE_ANON_KEY in .env.local.

Open http://localhost:3000 to see your site.

Supabase Project Structure

config.ts file

It is where you configure your app. Each key is documented to know how and why it's used. Have a thorough look at it: it is the backbone of the app.

.env file

Rename the .env.example file to .env.local. Change NEXTAUTH_SECRET to anything else. The file content should look like this:

.env.local

1EMAIL_SERVER=
2MAILGUN_API_KEY=
3NEXT_PUBLIC_SUPABASE_URL=
4NEXT_PUBLIC_SUPABASE_ANON_KEY=
5SUPABASE_SERVICE_ROLE_KEY=
6STRIPE_PUBLIC_KEY=
7STRIPE_SECRET_KEY=
8STRIPE_WEBHOOK_SECRET=