First Commit
This commit is contained in:
44
README.md
Normal file
44
README.md
Normal 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
|
80
Studio/Podcasts/TECHNICAL.md
Normal file
80
Studio/Podcasts/TECHNICAL.md
Normal 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
53
Studio/Podcasts/USER.md
Normal 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
|
Reference in New Issue
Block a user