This is a simple router for forms. Watch a Demo
Before starting, ensure you have the following:
- An account with Resend
- An account with Vercel
- A PostgreSQL database (we recommend Vercel Postgres)
After creating your accounts, update your .env.example to be .env.local for running the application locally. Then, update the keys for each value.
-
Clone the Repository
git clone https://github.com/routerso/router.git cd router/main
-
Install Dependencies
This project uses pnpm (see
packageManagerinpackage.json). Install with pnpm so thepnpm.overridessecurity pins are applied — installing with npm or yarn ignores them and pulls vulnerable transitive dependencies.pnpm install --frozen-lockfile
-
Set Up Environment Variables
Ensure your
.envfile is correctly configured as mentioned above. -
Generate the Database Migrations
pnpm db:generate
-
Run the Database Migrations
pnpm db:migrate
-
Start the Development Server
pnpm dev
-
Set Up Environment Variables
Ensure your
.envfile is correctly configured as mentioned above. -
**Run Docker Command
docker compose up
- Push your code to a GitHub repository.
- Connect your repository to Vercel.
- Set the environment variables in Vercel's dashboard under "Settings > Environment Variables".
Run pnpm audit to check for known vulnerabilities.
The pnpm.overrides block in package.json force-resolves transitive dependencies
that a direct dependency still pins to a vulnerable version (for example, next
pins postcss 8.4.31, and tailwindcss reaches a vulnerable glob via sucrase).
Each entry can be removed once the parent package ships a release that depends on a
patched version on its own — re-run pnpm audit after removing one to confirm.
Requires Node.js >= 20.9.0.
For any issues or questions, please open an issue on the GitHub repository.