24852f538ba06da8ca985442495c8ea359f2c0f6
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 uruchombun run db:push, żeby zsynchronizować je z bazą MySQL (bez plików migracji -pushpo 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) - dlategosrc/index.tsdodaje 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.
Languages
TypeScript
100%