Frontend application
  • TypeScript 98.6%
  • CSS 1.1%
  • JavaScript 0.2%
Find a file
Sebastian Fischer 635fe428a0
All checks were successful
build-image / build (push) Successful in 19s
[FEATURE] Make Mixpanel and Google sign-in opt-in
Mixpanel was initialised with a hardcoded upstream project token and sent pageviews, events, user ids, names and email addresses to Mixpanel. It now only starts when VITE_MIXPANEL_TOKEN is set at build time. The Google SDK, provider and sign-in button are only mounted when VITE_GOOGLE_CLIENT_ID is set, so a default build contacts no third-party service.
2026-10-03 19:28:22 +02:00
.forgejo/workflows [BUGFIX] Fall back to the production API URL in the image build 2026-10-03 18:29:10 +02:00
.github CODEOWNERS 2024-01-03 21:04:26 -06:00
.husky Remove husky pre-commit hook 2026-02-19 22:08:42 -06:00
public favicon 2026-03-19 10:27:52 -05:00
src [FEATURE] Make Mixpanel and Google sign-in opt-in 2026-10-03 19:28:22 +02:00
.gitignore gitignore 2023-12-22 11:17:04 -06:00
.nvmrc ship it 2026-02-19 22:08:39 -06:00
.prettierrc ship it 2026-02-19 22:08:39 -06:00
components.json ship it 2026-02-19 22:08:39 -06:00
Dockerfile [FEATURE] Self-hosting support 2026-10-03 17:08:24 +02:00
eslint.config.js ship it 2026-02-19 22:08:39 -06:00
index.html Enhance subscription upgrade flow: update openUpgrade function to accept a source parameter for tracking, add new PaywallSource types, and integrate app store metadata in index.html. Update various components to specify upgrade sources for better analytics. 2026-09-17 20:55:07 -05:00
LICENSE Adds LICENSE 2023-12-17 13:41:14 -06:00
nginx.conf [FEATURE] Self-hosting support 2026-10-03 17:08:24 +02:00
package-lock.json title tag login/register 2026-07-06 21:52:17 -05:00
package.json title tag login/register 2026-07-06 21:52:17 -05:00
README.md css/components note 2024-01-06 13:40:40 -06:00
tsconfig.extend.json paid plan 2026-06-19 22:38:25 -05:00
tsconfig.json init 2023-08-02 16:15:42 -05:00
tsconfig.node.json init 2023-08-02 16:15:42 -05:00
vite.config.ts ship it 2026-02-19 22:08:39 -06:00

Packstack

Packstack is a gear management system and packing list builder for backpackers and outdoor enthusiasts. The UI is built with React, Typescript and Vite.

Packstack uses Tailwind CSS as the CSS framework and components are extended from Shadcn/ui.

Getting started

First, set up your local env variables.

Create .env.local and add the following:

VITE_API_URL=http://localhost # OR https://api.packstack.io
VITE_SENTRY_DSN=

Start the frontend server

From the project root, run:

$ npm i
$ npm run dev

(Option 1) Run the API & database locally

If you want to set up the API and database locally, follow the instructions on the API server repo.

(Option 2) Use the production server

If you do NOT want to run the API and database locally, you can sign in using your credential from Packstack.io.

In .env.local, change the value of VITE_API_URL to https://api.packstack.io

If you do not have a Packstack account, sign up at Packstack.io. Feel free to create a test account for local development.