you need git and docker to run this project.
git clone https://github.com/timini/exscientia.git
Please bear in mind the repo may take longer than normal to download. This is EXPECTED. Dependancies are checked into the repo to enalble 0-installs. Once clone is complete, run the following commands:
# create a local env file using the example as a base
cp .env.example .env
# run db / backend / ui:
docker-compose up
Then you can head to:
The following tools are used
- Yarn 2 monorepo, with graphql server and react frontend split into seperate "packages". In a real project this concept can be extended to other services / component-libraries / testing packages etc.
- Autogenerated graphql server based on postgraphile (graphql types are inferred from postgres schema)
- React / nextjs frontend (with SSR)
- Typescript
- "types" package with typescript tpes autogenerated from the graphQL schema
- docker / compose for packaging
- pretty colours from tailwind / daisyUI
- fancy tables from react-table
- tests: I would immediatly add small e2e (smoke) tests for a project liks this to high-level check all services are running and package OK
- CI/CD: githug actions tried to charge me so i didnt add ci/cd
- deployment: with a little work thsi can be deployed as a static site on s3 type thing, or if server is needed it can be deployed with docker / kubernetes / cloud run / whatever
- nice graphs with s3.js - sorry no time