This is the frontend component of Thunderbird Appointment. It's written in VueJS with Vite.
Copy the .env.example as .env
.
Then simply run:
npm install
npm run serve
npm run build
We use post-css to enhance our css. Any post-css that isn't in a SFC must be in a .pcss
file and imported into the scoped style like so:
@import '@/assets/styles/custom-media.pcss';
@media (--md) {
.container {
...
}
}
We use slowapi for rate limiting. In order for rate limiting to function an api route needs to be have the @limiter decorator below the request decorator, and they need to have request: Request
as a parameter.
Frontend is formatted using ESlint with airbnb rules.
npm run lint
npm run lint -- --fix
npm run test
Note: Tests are setup to run in America/Vancouver timezone.