Files
2026-09-06 11:11:23 +02:00

1.6 KiB

ElysiaJS Boilerplate

Szablon startowy do zajęć z ElysiaJS: Bun + ElysiaJS + TypeScript, z podpiętym MySQL (Drizzle ORM) i Redisem do wspólnych baz danych z kursu.

Uruchomienie

bun install
bun run db:push   # tworzy tabelę `notes` z src/db/schema.ts
bun run dev

Wejdź na http://localhost:3000/swagger - tam znajdziesz dokumentację API (generowaną automatycznie z endpointów w src/index.ts).

Co tu jest

  • src/index.ts - główna aplikacja: przykładowe endpointy pokazujące odczyt i zapis do MySQL (src/db) oraz do Redisa (src/redis.ts). Usuń te przykłady, gdy zrozumiesz zasadę działania i zaczniesz pisać własny kod.
  • src/db/schema.ts - definicje tabel w Drizzle. Dodawaj tu kolejne tabele, a potem uruchom bun run db:push, żeby zsynchronizować je z bazą MySQL (bez plików migracji - push po prostu porównuje schemat z bazą na żywo).
  • src/db/index.ts / src/redis.ts - gotowe klienty, które czytają dane połączenia ze zmiennych środowiskowych. W Twoim workspace w Coderze są one już ustawione (MYSQL_*, REDIS_*) - nie musisz nigdzie wpisywać hasła.
  • .env.example - potrzebne tylko, jeśli chcesz uruchomić projekt poza workspace'em w Coderze, na własnym MySQL/Redis.

Uwagi

  • Twój użytkownik Redis widzi tylko klucze pod student:<twoja-nazwa>:* (wymuszone po stronie serwera) - dlatego src/index.ts dodaje ten prefiks do kluczy w cache. Klucze spoza tego prefiksu zostaną odrzucone.
  • Twój użytkownik MySQL ma dostęp tylko do swojej własnej bazy - nie musisz nic dodatkowo podawać poza tym, co jest już w MYSQL_DATABASE.