Skip to content

zwwuu/shortl

Repository files navigation

Shortl

Link shortener with password protection https://shortl.net

About

It uses Turborepo and contains:

apps
  └─ next.js
      ├─ Next.js 13
      ├─ React 18
      └─ E2E Typesafe API Server & Client
packages
 ├─ api
 |   └─ tRPC v10 router definition
 └─ db
     └─ typesafe db-calls using Prisma

Quick Start

To get it running, follow the steps below:

Setup dependencies

# Install dependencies
npm i

# In packages/db/prisma update schema.prisma provider to use sqlite
# or use your own database provider
provider = "postgresql" # or "sqlite" or "mysql"

# Configure environment variables.
# There is an `.env.example` in the root directory you can use for reference
cp .env.example .env

# Push the Prisma schema to your database
npm db:push

Deployment

Next.js

Deploy to Vercel

Let's deploy the Next.js application to Vercel. If you have ever deployed a Turborepo app there, the steps are quite straightforward. You can also read the official Turborepo guide on deploying to Vercel.

  1. Create a new project on Vercel, select the apps/nextjs folder as the root directory and apply the following build settings:

Vercel deployment settings

The install command filters out the expo package and saves a few second (and cache size) of dependency installation. The build command makes us build the application using Turbo.

  1. Add your DATABASE_URL environment variable.

  2. Done! Your app should successfully deploy. Assign your domain and use that instead of localhost for the url in the Expo app so that your Expo app can communicate with your backend when you are not in development.

References

The stack originates from create-t3-app.

License

Licensed under GNU GPLv3 .

About

Link shortener with password protection

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published