link-stack/README.md

51 lines
No EOL
2.9 KiB
Markdown

# Dev Setup
> NOTE: When using Gitpod/Codespaces, use at least 16GB RAM
Local dev with docker-compose
* Create `link-stack/.env` from Bitwarden `.env for root of link-stack`
* Run local dev with docker-compose:
```
git clone ...
cd link-stack
make start-dev
```
Or for local dev of a single app
* Create `link-stack/.env` from Bitwarden `.env for root of link-stack`
* Build locally for development:
```
npm install
npm run docker:metamigo:dev:up # start supporting containers for metamigo
npm run build # compile the apps
npm run migrate # this migrates the db
npm run dev:metamigo # this runs metamigo frontend, api, and worker
```
# TODO
Notes from abel regarding metamigo. these are in priority order (high priority first)
- [ ] Do not upgrade: postgraphile, graphql and other postgres dependencies until postgrahile supports a newer grapqhl version
* ref: https://github.com/graphile/postgraphile/issues/1583
- [ ] Fix the proxying from metamigo-frontend to metamigo-api, this broke during the next.js `pages/api` -> `app/api/*route.js` change.
* or consider removing the proxy and having the frontend talk directly to the backend, though this may be more work.
- [ ] Upgrade metamigo-frontend react-admin components
* this is the bulk of the real outstanding work, outside of breakages that happend during dep updates between Jun 14 - Aug (of which I'm only aware of the proxying issue, see previous)
* follow react-admin upgrade guide https://marmelab.com/react-admin/Upgrade.html
* in particular: https://marmelab.com/react-admin/Upgrade.html#no-more-prop-injection-in-page-components
* I started this in commit 49650795dff5249c89975d3c0b1cf12836304647
* so you can follow the same pattern in future commits to fix the signal, whatsapp and twilio pages
- [ ] Get metamigo-worker working
* the package.json entry points need to be fixed to be like metamigo-api
* the worker needs a main.ts file like metamigo-api that starts the worker (without the api) `await startWithout(["server"]);`
* while you're at it, I recomnmend moving all source files into a `src` to be consistent with the other metamigo projects
- [ ] Migrate off mui/styles
* https://mui.com/material-ui/migration/v5-style-changes/
* the codemods might help us?
- [ ] Delete old JWT config options stuff in `packages/metamigo-config`
* the JWT is no longer used bdad5f551c536d751be87ecb8464d16c82e32699 and 24d52eef3d26ac5ee1294b949490920765fca96f
* so all of the config related to the JWT can be removed: signingkey (and b64 one), encryption key (and b64 one), audience
- [ ] Consolidate config.. this is basically done. The idea is to not need a config js file, everything can be populated from a root level .env file. This is already done, I have been developing like this for awhile, but I notice in your .env file on bitwarden you're still using the config file.