SaaS platform for managing your brand links. Shorten links, generate QR codes, track traffic and more 🔗 📊
MIT License
SaaS platform for managing your brand links. Under active development. Primary goal of this project is to create sample that does more than just simple CRUD.
Frontend is still in very early stage of development. It lacks proper error handling and will receive major upgrade when core features will be done.
Currently only downloading as PNG is possible. In the future SVG and JPEG will be added.
Account settings interactions example
Link in Bio feature. More features to come after major refactor.
Project uses Nx workspaces for building and handling monorepo structure.
cd docker
docker compose up
# will install depedencies and create .env file
npm run setup
# run migrations (will run migrations against database defined in env.POSTGRES_URI)
npm run db:migrate
# run migrations for stats database (definied CLICKHOUSE_ env variables)
npm run stats:migrate
Purly uses MinIO to simulate AWS S3 for local development. We suggest to use AWS CLI for initial configuration.
Read about S3 local setup in /tools/s3-local/README.md
npm run serve
Purly uses STRIPE_WEBHOOK_PATH
variable for webhook URL obfuscation. Don't forget to replace it in production with your own random value.
stripe login # only once - stripe will remember your session
stripe listen --forward-to localhost:8000/api/stripe/webhook/e7a42abb5d31ec92bdfeec3cb0a4fa1b
Stripe CLI will give you webhook signing secret like
whsec_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
. Save this value in .env as STRIPE_WEBHOOK_SECRET and restart API. CLI gives you the same secret so no need to repeat this step every time you run listen command.
Currently project is in early stage of development and many things are changing so often. Keep it in mind if you want to contribute.
db:generate
script to generate migrations and run db:migrate
to run migration.Distributed under the MIT License. See LICENSE
for more information.