Code4Community's newest project with Lucy's Love Bus.
Monarch is our internal code name for the prototype application we are developing to create a central hub for practitioners of integrative therapy. Our online search network will allow families across New England to discover which practitioners are in their area.
This project a monorepo with three major subdirectories. Navigate to each of them (linked below) for a more specific README with technical details.
The software system is composed of five major components/libraries:
- frontend : A web "frontend" client. The primary concern of this component is presentation code. This part of the system is built in React and Typescript, bundled as a single page application.
- backend : A web "backend" server. The primary concern of this component is exposing a HTTP interface to the data and core business logic of the search network.
- common : Common units shared by and bundled with both of the above independent applications.
- A database to securely store application data (AWS DynamoDB).
- An authentication service to store user login information and issue auth tokens (AWS Cognito)
There's many more of course, but for a high level overview these 4.5 components are all you really need to be aware of.
Go to the project root and run:
npm install
then, copy .env.example
into .env
Fill in the blanks with the appropriate information. Ask the team directly for details.
The simplest way to run both frontend and backend in a single terminal is:
nx run-many --parallel --target=serve --all
But you can run whatever `nx ...` command you want!
#### 5. Make changes, test, and commit!
Write tests, run tests!
```sh
nx run-many --target=test --all
Ideally commit using Conventional Commit style. Emojis optional but always encouraged.
✨ This workspace has been generated by Nx, a Smart, fast and extensible build system. ✨
Run nx graph
to see a diagram of the dependencies of the projects.
Run npx nx connect-to-nx-cloud
to enable remote caching and make CI faster.
Visit the Nx Documentation to learn more.