21/06/2024
Attendance
Everyone in attendance
Actionable Updates
Kavika
-- Write out + send Zac requirements for API generation crate
-- Code review/fix Alex L's branch
-- Look into questions framework local code missing? Otherwise finish it (or maybe it's finished idk?)
Alexander Lai
-- chill / wait for the code review
Fritz
-- containerise things and setup docker
-- setup testing for handlers
Skye
-- push code for/finish answers framework
Alex M
-- idk lol i forgot what you need to do.. pls remind me
Yunshu
-- ensure all your final code is pushed + chill/wait for code review
-- do frontend tasks
Hellen
-- ensure all your final code is pushed + open a pull-request
-- do frontend tasks
Zac
-- look out for Kavika's requirements -> find/discuss the right solution
Josh
-- Merge in pull req -- sponsor logos
-- Cry over frontend refactoring
-- send Yunshu and Hellen frontend stuff
Agenda
announcements
cross-port bonding – wk6
discussion points
we decided on generating the Open API spec from the code (I think Zac found a crate called utopia?)
error handling stuff will be sorted by Kavika ... for now if youre doing BE stuff just follow whats in the organisations branch (more specifically, how errors are handled -- with the
match
and stuff)need to modify
isAdmin
to account for both OrganisationAdmins and OrganisationUsersSQLx errors have a variant
RowNotFound
so we can differentiate between 4XX and 5XX codes
feedback from Kavika on code review:
use DB transactions instead of Pool -> and
transaction.rollback()
on errors, otherwise.commit()
use
query_as
as much as possible instead ofquery
frontend tasks
User guide:
we want to make a user guide on the website to:
help people learn how to use CHAOS
more clearly define what frontend features we need hahahahahaaaaa
Tasks:
Need to look into some sort of solution for this. Would something that renders mdx (or just markdown) be good? Don’t spend too long deciding, just do a lil bit of research and choose one. It should be easy to change later if needed (unlikely anyways).
Docusaurus? → rendering mdx (mdx = markdown with extra features)
Contentlayer
Starlight
Add the solution and make a basic guide on how users can create a campaign as a sample
let’s use the route
/guide
for thisMake a pull request
Embedding OpenAPI spec on a webpage
Create a page on the route
/docs
that displays the OpenAPI spec using the api.yaml
fileProbably will need to
yarn install
some package for thisMake a PR
Add typechecking + linting + formatting to the CI
We want the frontend code to lint (ESLint) + typecheck (TypeScript) + be formatted (prettier)
Tasks:
add a github action in the
.github/workflows
folder that runs the three things (you will have to google the commands to run tsc, eslint and prettier in the CI)Make a pull request (the frontend build should fail this right now)
Actionables
Kavika:
finish fixing organisations stuff [due: 28 Jun 2024]
db migration to add a OrganisationAdmin level
changing Pool to Transaction
redo error framework [due: 28 Jun 2024]
Fritz
finish containerising the backend [due: 21 Jun 2024]
start setting up testing framework [progress: 28 Jun 2024]
Alex M
look through the Questions framework and check what is missing [due: 28 Jun 2024]
Zac
generate OpenAPI spec from the code
Skye
make a draft PR for answers framework [due: 28 Jun 2024]
keep working on answers framework [progress: 28 Jun 2024]
Yunshu
approve / review Josh's PR [due: 23 Jun 2024]
user guide FE task (confluence dot point number 1) [progress: 28 Jun 2024]
Alex L
OpenAPI FE task (confluence dot point number 2) [progress: 28 Jun 2024]
Hellen
CI frontend task (confluence dot point number 3) [progress: 28 Jun 2024]
Josh
more rewriting stuff using Tailwind and twin.macro [progress: 28 Jun 2024]