If you're new to contributing to open source software this guide guide is a great read.
A great place to jump in are issues labeled Beginner Friendly.
Feel free to join the Banshee-44 Mods Bot Discord if you have questions.
- - Documentation is updated if needed
- - Passing CI pipeline
This project uses Node.js as my language of choice. I'm using AWS for my infrastructure. I'm using Terraform for my Infrastructure as Code (IaC) and if I wanted to have this deployed I'd do so with Terraform Cloud to provision my infrastructure, either on demand or in response to various events.
I'm leveraging compute via AWS Lambda for all of the benefits of having a serverless architecture.
I'm using AWS API Gateway to create our RESTful API. API Gateway handles all the tasks involved in accepting and processing up to hundreds of thousands of concurrent API calls, including traffic management, CORS support, authorization and access control, throttling, monitoring, and API version management.
Setup and use requires Git, Node JS, and a text editor such as VS Code.
This project is built for the latest Node LTS and npm versions. You can
check your node version with node -v
and your npm version with npm -v
.
If you're on a Mac, I'd suggest using Homebrew for installing the required software listed in Setup.
git clone [email protected]:cujarrett/glimpse-backend.git
cd glimpse-backend
npm install
Finds problematic patterns or code that doesn’t adhere to certain style guidelines
npm run lint
npm run fix-lint
This project uses Terraform to create, edit, and delete its infrastructure to AWS.
The Terraform in this project requires variables.
- acm_certificate_arn
:
arn:aws:acm:REDACTED:REDACTED:certificate/REDACTED`
This project follows the Conventional Commits specification to
aid in automated releases and change log generation. Commitlint
is enabled and ran as a commit-msg
hook to enforce the commit format.
Commitizen can be used to prompt through any requirements at commit time
npm run commit
(or git cz
if Commitizen is installed globally).
In short, if a commit will be fixing a bug, prefix the commit message with fix:
fix: my bug fix
feat: my new feature
Commits with fix:
prefix will show up in the generated changelog as bullets under the Bug Fixes:
section, and
feat:
prefixed messages will show under the Features:
section. For more on the available prefixes/rules, see
here.