2.1 KiB
2.1 KiB
laseca
laseca is a social bitcoin to cash exchange, implemented as a webapp.
How to set up dev environment
- Pre-requisites
dockeranddocker composenodeandnpm
- Installing
- Run
npm install - You can now start the app in a container by running
npm run start:container(and shut it down withnpm run stop:container).
- Run
- Building
- The front-end code gets built with webpack. You can build it anytime with
npm run build. - For development, it's useful to build continuously. You can run
npm run watchand webpack will build every time you edit a monitored file.
- The front-end code gets built with webpack. You can build it anytime with
- Running
- Copy the
.env.distfile into.envand set any values you like. - The app will run in a single container, with a Postgres database, a caddy webserver and the nodejs app.
- Note that the container doesn't come with a volume for Postgres: default behaviour is to start from scratch every time you create the container, delete everything every time you delete the container.
- You probably want to run migrations to get the database into proper state. You can do so with
npx sequelize-cli db:migrate. - The docker image launches the nodejs app with nodemon, so changes to the code will be available immediately.
- Furthermore, since the git repository gets mounted live into the docker container, the live changes made by webpack watch mode will also be available as you work on front end files.
- The Postgres database is reachable from the host, so you can use your favourite SQL client to access it.
- You can format with
npm run formatand lint withnpm run lint.
- Copy the
How to deploy
The app has never been deployed in production, so there's a lot of things to polish.
The (hypothetical) approach is to:
- Spin up a linux box.
- Install node, caddy and postgres.
- Configure them all nice and stuff so they work together and have a reasonable production set up.
- Set up the node app with systemd so it runs proper.
Docs
You can find documentation under docs/.
Other
other/brandingcontains brand assets of laseca.other/nostr-brand-assetscontains some nostr-related open source icons, logos, etc.