feat: end to end api type safety with redis rate limiting (#573)

* feat: support hono rpc

* add wrangler file

* update name of wrangler file

* add wrangler as a dependency

* add compatibility_flags

* trigger ci

* core: add health check to docker file

* expose port 80

* update custom healthcheck

* feat: implement openapi

* install dependencies in root

* debug yml

* update yml

* update port

* update dockerfile with envs

* completely move away from apiClient

* rename backend to api

* refactor: update server descriptions and comment out local spec saving

* update lock file

* use api.classroomio.com

* add support for redis

* fix: add missing line break in WelcomeModal.svelte

* refactor: remove wrangler configuration and update Vite config for API integration
This commit is contained in:
Rotimi Best
2025-09-21 19:35:41 +01:00
committed by GitHub
parent a6880f1b54
commit 6d68351a46
102 changed files with 2938 additions and 1633 deletions
+4 -4
View File
@@ -72,7 +72,7 @@ Here is what you need to be able to run ClassroomIO.com
This repo is a mono repo that consists of 3 projects:
1. `classroomio-com`: The landing page of ClassroomIO hosted [here](https://classroomio.com)
2. `backend`: The backend service that handles PDF, video processing, Emailing and Notifications.
2. `api`: The api service that handles PDF, video processing, Emailing and Notifications.
3. `dashboard`: The web application that runs the learning management system hosted [here](https://app.classroomio.com).
4. `docs`: Official documentation of ClassroomIO hosted [here](https://classroomio.com/docs)
@@ -118,7 +118,7 @@ This repo is a mono repo that consists of 3 projects:
4. Set up your `.env` file
- Go to `apps/classroomio-com`, `apps/dashboard` and `apps/backend`.
- Go to `apps/classroomio-com`, `apps/dashboard` and `apps/api`.
- Duplicate the `.env.example` file and rename it to `.env`
- Populate your .env files with the neccessary variables
@@ -173,14 +173,14 @@ To get the environmental variables for supabase continue to step(5)
8. All projects should start running
- `classroomio-com`: [http://localhost:5174](http://localhost:5174)
- `backend`: [http://localhost:3002](http://localhost:3002)
- `api`: [http://localhost:3002](http://localhost:3002)
- `dashboard`: [http://localhost:5173](http://localhost:5173)
- `docs`: [http://localhost:3000](http://localhost:3000)
9. Running a specific project
- **classroomio-com**: `pnpm dev --filter=classroomio-com`
- **backend**: `pnpm dev --filter=backend`
- **api**: `pnpm dev --filter=api`
- **dashboard**: `pnpm dev --filter=dashboard`
- **docs**: `pnpm dev --filter=docs`