This repository holds the frontend code for Awaik.
Awaik is a service uptime monitoring tool that periodically sends requests to services, awaits a response, and checks that they are awake (get it... awaik ππ)
- awaik - Landing page
- awaik-frontend - Frontend repository for connecting to Awaik services
- awaik-backend - Backend repository responsible for Awaik's functionality
- awaik-infrastructure - Scripts and configs for Awaik's infrastructure
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
This project is currently developed on macOS, and so all instructions are written as such. They will be updated overtime, or if you want to update them sooner open a PR!
COMING SOON
Running tests is as running the following:
make test
If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
- Configure the top-level
parserOptions
property like this:
export default {
// other rules...
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
project: ['./tsconfig.json', './tsconfig.node.json'],
tsconfigRootDir: __dirname,
},
}
- Replace
plugin:@typescript-eslint/recommended
toplugin:@typescript-eslint/recommended-type-checked
orplugin:@typescript-eslint/strict-type-checked
- Optionally add
plugin:@typescript-eslint/stylistic-type-checked
- Install eslint-plugin-react and add
plugin:react/recommended
&plugin:react/jsx-runtime
to theextends
list
Backend:
- GoΒ - Backend code
Infrastructure:
- CassandraΒ - Persistent data storage
- KafkaΒ - Asynchronous message queues
- Hashicorp VaultΒ - Secret storage
- Envoy Proxy and Istio - Reverse proxy and service mesh
- Docker and Kubernetes - Containerisation and orchestration of various services
- AWS - Infrastructure
- Terraform/OpenTofu - Infrastructure as Code
Frontend:
- Vite - Frontend tooling
- React - Web framework for frontend and internal web dashboards
- TypeScript - Type safe language built on JavaScript
- @taylow - Founder
See also the list of contributors who participated in this project.
- Stack inspiration came from Monzo, as this is what they listed in a job opening, and I wanted to build something that used the same stack
- Hat tip to Christian Selig for their apollo-backend repository; a fantastic example of a production-ready server written in Go
- Thanks to my friend Connor O'Brien for helping me come up with a silly name for it, after all, you can't truly start a project until you know the domain exists and the SEO isn't already saturated, right? right??
- Another thanks to my talented friend Dylan Thomas for the adorable cat logo!