Setup Local Development
This guide will walk you through setting up a local development environment for the PMB HIMARPL website.
Prerequisites
Before installing the application, ensure you have:
- Node.js and npm installed
- Git installed
- Access to the following services:
- CockroachDB account
- PostHog account (optional)
Environment Setup Details
The project requires several environment variables to be set up in a .env
file for proper functionality.
CockroachDB Setup
Follow the CockroachDB Quickstart Guide to get your DATABASE_URL
.
Setup Steps
-
Fork and clone the repository:
HTTPS git clone https://github.com/himarplupi/pmb-himarpl.gitSSH git clone git@github.com:himarplupi/pmb-himarpl.gitGitHub CLI gh repo clone himarplupi/pmb-himarpl -
Navigate to project directory:
Terminal window cd pmb-himarpl -
Create environment variables file: Create a
.env
file in the root directory with the following variables:Terminal window DATABASE_URL=NEXT_PUBLIC_BASE_URL="http://localhost:3000"NEXT_PUBLIC_BASE_PATH=""NEXT_BASE_URL="http://localhost:3000"NEXT_PUBLIC_POSTHOG_KEY=NEXT_PUBLIC_POSTHOG_HOST=https://us.i.posthog.com -
Set up remote upstream:
HTTPS git remote add upstream https://github.com/himarplupi/pmb-himarpl.gitSSH git remote add upstream git@github.com:himarplupi/pmb-himarpl.gitGitHub CLI gh repo sync himarplupi/pmb-himarpl -
Install dependencies and start development server:
Terminal window npm ci # Install dependenciesnpm run db:push # Push database schema to CockroachDBnpm run dev # Start development serverThe application should now be running at
http://localhost:3000
. -
Create a new branch for your changes:
Terminal window git checkout -b my-feature-branch -
After you are satisfied with your changes, add and commit them to your branch, then push your branch to your fork.
Terminal window git add .git commit # Please follow the commit guidelines belowgit push -u origin my-feature-branch -
Create Pull Request.
Available Scripts
npm run dev
- Starts development server with hot reloadnpm run build
- Creates production buildnpm run start
- Starts production servernpm run db:push
- Pushes database schema to CockroachDBnpm run db:studio
- Opens Prisma Studio for database managementnpm run lint
- Runs linting checks