This is a monorepo containing the software packages used by Neon Law to deliver our services to our clients. You are welcome to use this library pursuant to the Neon License as long as you promise not to use our Neon Law trademark.
|@neonlaw/web||deployed on pull requests by Vercel||latest
This repo also contains an
infrastructure folder for managing cloud and
SaaS resources with Terraform and a
shell folder containing our base docker
image, which contains all the libraries necessary to work on any of the above
The following instructions are for you if you intend to work on this repository.
Our opinionated git flow is an essential part of working with this
repo. A series of continuous integration and deployment scripts will run
based on how you name your branches and your subsequent pull request to the
main branch. Please refer to the package or the
git_flow CLI available from
crates.io for more information.
We use Doppler for storing and sharing configuration secrets like API keys. If you wish to work on the application, please email us at email@example.com to request a Doppler account. Please refer to the individual package README files for more information on how to use Doppler.
For each of our packages, consult the
README file located in each top-level
directory of this repository. There, you will find instructions on how to
develop. We believe developing each in isolation is a great developer experience
because you should not have to load a bunch of stuff in your head whilst coding.
schemas package is built in Python, Ruby, and Node and contains Avro
schemas for the messages that travel through our message bus, which is Google
Pub/Sub. You can also run a local Google Pub/Sub with the emulator with:
gcloud beta emulators pubsub start --project=neon-law-staging
Cloud SQL Proxy
If you need to access either the staging or production database on your local
machine, you can connect to it via Google Cloud SQL Proxy. First, ensure that
you have access to the
gcp project in Doppler. Then, you can connect to
production with these respective commands:
doppler setup # choose the GCP project yarn run copy-gcp-credentials yarn run sql-proxy-staging yarn run sql-proxy-production
The staging database runs at
localhost:5433 and the production database runs
Copying Postgres Data from Production to Staging
To copy data from production to staging, run the following script:
doppler run -- bundle exec ruby lib/neon_postgres/inter_database_copy/copy.rb
This will copy data over from production to staging while anonymizing client data so we can develop the app without exposing the attorney-client privilege of the firm.
Third-Party SaaS Services
To help us write into this repository and run our business, we use these software:
- Code Climate
- G Suite
- Google Cloud Platform (GKE and Managed PostgreSQL)
- Lexis Nexis
- Mercury Bank
- Terraform Cloud
- Zendesk Suite
Copyright 2021 Neon Law. Licensed under the Neon License. The Neon License is the same as the Apache License Version 2 with the additional disclaimer that nothing provided herein is legal advice.
Please contact us if you have any questions at firstname.lastname@example.org.