First Commit

This commit is contained in:
2025-04-03 11:23:16 +00:00
commit 49a1e67b8d
3 changed files with 177 additions and 0 deletions

44
README.md Normal file
View File

@ -0,0 +1,44 @@
# BORG - Yfirlit yfir skjölun
Þetta skjal veitir yfirlit yfir öll skjölunarskrár í BORG verkefninu.
## Efnisyfirlit
### Tæknileg skjölun
- [Podcast Upptökur - Tæknilegt yfirlit](Studio/Podcasts/TECHNICAL.md)
- [Yfirlit](#yfirlit)
- [Tæknileg uppbygging](#tæknileg-uppbygging)
- [Hljóðupptaka](#hljóðupptaka)
- [Hljóðspilun](#hljóðspilun)
- [Gagnagrunnur](#gagnagrunnur)
- [API Endapunktar](#api-endapunktar)
- [Socket.IO Atburðir](#socketio-atburðir)
- [Öryggi](#öryggi)
- [Takmarkanir](#takmarkanir)
- [Þróun](#þróun)
## Leiðbeiningar fyrir skjölun
Þegar bætt er við nýrri skjölun í verkefnið:
1. Setjið tæknilega skjölun í viðeigandi undirmöppu undir `Studio/`
2. Notið Markdown (.md) snið fyrir allar skjölunarskrár
3. Notið skýrar fyrirsagnir og kafla
4. Haldið skjölun uppfærðri með kóðabreytingum
5. Skjölsetjið allar API breytingar, nýja eiginleika eða breytingar sem hafa áhrif á bakvísa
## Bæta við nýrri skjölun
Til að bæta við nýrri skjölun:
1. Búið til nýja .md skrá í viðeigandi möppu
2. Uppfærið þetta yfirlitsskjal með nýju skjöluninni
3. Fylgið núverandi stíl og sniði skjölunar
4. Bætið við viðeigandi tæknilegum upplýsingum og dæmum þar sem við á
## Viðhald skjölunar
- Farið yfir og uppfærið skjölun reglulega
- Tryggið að skjölun endurspegli núverandi útfærslu
- Fjarlægið úreltar upplýsingar
- Bætið við nýjum kaflum eftir því sem verkefnið þróast

View File

@ -0,0 +1,80 @@
# Podcast Upptökur - Tæknilegt yfirlit
## Yfirlit
Podcast Upptökur er byggt á Next.js 14 með TypeScript og notar nýjustu tækni fyrir hljóðupptökur og spilun. Kerfið notar Web Audio API fyrir hljóðvinnslu og Socket.IO fyrir rauntíma samskipti.
## Tæknileg uppbygging
### Hljóðupptaka
- Notar `MediaRecorder` API fyrir upptökur
- Stuðningur við margar hljóðformáta (webm, ogg, mp4)
- 48kHz upptökuhraði með 1 rás
- Hljóðgæði: 510kbps
- Upptökutími: Allt að 50 mínútur
### Hljóðspilun
- Notar `AudioContext` og `AnalyserNode` fyrir línurit
- Stuðningur við spilun, hlé, stöðvun og tímasetningu
- Sýnir tímalengd og núverandi spilunartíma
- Vísar hljóðbylgjuform í rauntíma
### Gagnagrunnur
Upptökur eru vistaðar með eftirfarandi upplýsingum:
```typescript
interface PodcastRecording {
id: string;
filename: string;
createdAt: string; // ISO date string
size: number;
duration?: number | null;
mimetype: string;
}
```
## API Endapunktar
### GET /api/studio/podcasts
- Sækir lista af öllum upptökum
- Skilar `PodcastRecording[]`
### GET /api/studio/podcasts/play/{id}
- Sækir hljóðskrá fyrir spilun
- Skilar hljóðskrá sem stream
### POST /api/studio/podcasts
- Vistar nýja upptöku
- Tekur við FormData með hljóðskrá
- Skilar `PodcastRecording`
### DELETE /api/studio/podcasts/{id}
- Eyðir upptöku
- Skilar 204 ef upptakan var eytt
## Socket.IO Atburðir
### Upptaka
- `start-recording`: Byrjar upptöku
- `recording-data`: Sendir hljóðgögn
- `stop-recording`: Stöðvar upptöku
### Spilun
- `play`: Byrjar spilun
- `pause`: Gerir hlé
- `stop`: Stöðvar spilun
- `seek`: Færir spilunartíma
## Öryggi
- Öll API kall krefjast innskráningar
- Hljóðskrár eru vistaðar á öruggum stað
- Upptökur eru aðgengilegar aðeins fyrir eiganda þeirra
## Takmarkanir
- Hámarksupptökutími: 50 mínútur
- Stuðningur við aðeins hljóðskrár
- Krafist er nýlegs vafra með stuðningi við Web Audio API
## Þróun
- Notar TypeScript fyrir örugga kóða
- React hooks fyrir stjórn á stöðu
- Radix UI fyrir samræmda notendaviðmót
- Tailwind CSS fyrir stílsnið

53
Studio/Podcasts/USER.md Normal file
View File

@ -0,0 +1,53 @@
# Podcast Upptökur - Notendaleiðbeiningar
## Yfirlit
Podcast Upptökur er tól sem gerir þér kleift að taka upp og stjórna hljóðupptökum. Þú getur:
- Tekið upp hljóð með hljóðnema
- Spilað upptökur
- Halað upptökum niður
- Eytt upptökum
## Að taka upp hljóð
1. **Undirbúningur**
- Gakktu úr skugga um að hljóðnemi sé tengdur og virkur
- Veldu réttan hljóðnema ef þú ert með marga tengda
2. **Upptaka**
- Smelltu á "Byrja upptöku" takkann
- Þú sérð upptökuferlið á línuriti
- Smelltu á "Stöðva" til að stöðva upptöku
- Upptakan verður sjálfkrafa vistuð þegar þú stöðvar hana
## Að spila upptökur
1. **Velja upptöku**
- Í upptökulistanum, smelltu á upptökuna sem þú vilt spila
- Upptakan birtist í spilaranum efst á síðunni
2. **Spilun**
- Notaðu spilunartakkana til að:
- Spila/gera hlé (Play/Pause)
- Stöðva (Stop)
- Dragðu stikuna til að fara á ákveðinn tímapunkt í upptökunni
- Skoðaðu tímalengd upptökunnar
## Að sækja upptökur
1. **Niðurhal**
- Í upptökulistanum, smelltu á niðurhalshnappinn (↓) við hlið upptökunnar
- Upptakan verður sótt niður á tölvuna þína
## Að eyða upptökum
1. **Eyða upptöku**
- Í upptökulistanum, smelltu á ruslatunnu hnappinn (🗑️) við hlið upptökunnar
- Staðfestu að þú viljir eyða upptökunni
- Upptakan verður fjarlægð varanlega
## Ábendingar
- Þú getur tekið upp hljóð í allt að 50 mínútur í einu
- Upptökur eru vistaðar í .webm eða .mp4 formati
- Þú getur spilað upptökur beint í vafranum
- Upptökur eru vistaðar á netþjóninum og eru aðgengilegar hvar sem er