From 60a75f7894802e0e4468559c5050cd42660baf5f Mon Sep 17 00:00:00 2001 From: michivonah Date: Sat, 11 Oct 2025 13:01:04 +0200 Subject: [PATCH] improve readme structure --- README.md | 72 +++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 49 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index ded9be1..3413738 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,50 @@ # themepark-assistant A tool for improving your trips to themeparks - once developed -## Testing -Send request +## Repo structure +- /api: API implementation + - ./: config files + - /src: API Code + - /db: Database client, schema & migrations + - /errors: Error types + - index.ts: Exporter for all error classes + - /jobs: Background tasks + - /lib: Reusable functions + - /routes: API Endpoints + - /types: Data type definitions + - index.ts: Entrypoint for API Requests & background tasks on Cloudflare Workers + +## Development +### Run enviromnment +Run worker locally (without remote d1 access, scheduled tasks not available) +```bash +npx wrangler dev +``` + +Run worker locally (without remote d1 access, scheduled tasks available) +```bash +npx wrangler dev --test-scheduled +``` + +Run worker locally (with remote connection to d1, scheduled tasks available) +```bash +npx wrangler dev --remote --test-scheduled +``` + +### Requests +Send request with bearer authentication ```bash curl -H "Authorization: Bearer insecure-token" http://127.0.0.1:8787/notification/list ``` -## Update cloudflare d1 db +Run request with cron expression (for executing background tasks) +```bash +curl "http://localhost:8787/__scheduled?cron=*+*+*+*+*" +``` + +### Drizzle DB migrations +Update cloudflare d1 db DB scheme is defined in typescript apply changes @@ -21,35 +57,25 @@ export sql statements instead of running migration npx drizzle-kit export --config=drizzle-dev.config.ts ``` -## SQLite / D1 +### Useful sql statements for SQLite / D1 Delete view ```sql DROP VIEW IF EXISTS attraction_subscriptions; ``` -## Cloudflare workers tricks +### Cloudflare workers tricks If types are missing, run: ```bash npx wrangler types ``` -## Testing cronjobs -Run worker locally (without remote d1 access) -```bash -npx wrangler dev --test-scheduled -``` - -Run worker locally (with remote connection to d1) -```bash -npx wrangler dev --remote --test-scheduled -``` - -Run curl request with cron expression -```bash -curl "http://localhost:8787/__scheduled?cron=*+*+*+*+*" -``` - -## Authentication endpoints +## Authentication endpoints (auth.js) - /auth/signin -> Login - /auth/signout -> Logout -- /auth/callback/github -> Callback for GitHub OAuth config \ No newline at end of file +- /auth/callback/github -> Callback for GitHub OAuth config + +## Contributing +TBD + +## License +TBD \ No newline at end of file