No description
Find a file
2025-04-05 13:07:02 +02:00
.vscode deactivate vscode html formatter 2025-02-19 00:16:00 +01:00
caddy ok this seems to work 2025-02-14 20:03:28 +01:00
docs some docs 2025-02-21 17:18:25 +01:00
other rename folder 2025-02-21 17:18:13 +01:00
public refactor styles, remove ids 2025-04-05 13:00:25 +02:00
src move up, remove ids 2025-04-05 13:07:02 +02:00
tests formatting 2025-02-27 18:40:15 +01:00
.env.dist ok this seems to work 2025-02-14 20:03:28 +01:00
.eslintignore oportunistic linting stuff 2025-03-14 16:24:53 +01:00
.eslintrc.json . 2025-02-14 12:23:50 +01:00
.gitignore ignore bundle files 2025-03-13 11:33:10 +01:00
.prettierrc format project 2025-02-14 11:13:18 +01:00
.sequelizerc start 2025-03-09 17:09:40 +01:00
docker-compose.yml amke hot reload work for node app 2025-02-19 18:49:10 +01:00
docker-entrypoint.sh amke hot reload work for node app 2025-02-19 18:49:10 +01:00
Dockerfile split install into multiple steps 2025-03-19 18:51:26 +01:00
package-lock.json install webpack 2025-03-12 18:56:36 +01:00
package.json install webpack 2025-03-12 18:56:36 +01:00
README.md a few small notes 2025-03-17 16:01:02 +01:00
webpack.config.js home 2025-03-13 11:28:07 +01:00

laseca

laseca is a social bitcoin to cash exchange, implemented as a webapp.

How to set up dev environment

  • Pre-requisites
    • docker and docker compose
    • node and npm
  • Installing
    • Run npm install
    • You can now start the app in a container by running npm run start:container (and shut it down with npm run stop:container).
  • 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 watch and webpack will build every time you edit a monitored file.
  • Running
    • Copy the .env.dist file into .env and 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 format and lint with npm run lint.

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/branding contains brand assets of laseca.
  • other/nostr-brand-assets contains some nostr-related open source icons, logos, etc.