improve readme structure

This commit is contained in:
Michi 2025-10-11 13:01:04 +02:00
parent 6bb5037eae
commit 60a75f7894

View file

@ -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
## Contributing
TBD
## License
TBD