Play Now β ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΡΠ·ΡΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΡΠ΅ΠΊΠ°ΠΌΠΈ ΠΈ ΠΏΠ»Π΅ΠΉΠ»ΠΈΡΡΠ°ΠΌΠΈ. ΠΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΡΠ΅ΠΊΠΎΠ² ΠΈ ΠΏΠ»Π΅ΠΉΠ»ΠΈΡΡΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΌΡΠ·ΡΠΊΠΈ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΡΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΊΡΠ°Π½ΠΎΠ²:
- ΠΠ²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ: Π€ΠΎΡΠΌΠ° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΈ Π»ΠΎΠ³ΠΈΠ½Π°.
- Π’ΡΠ΅ΠΊΠΈ: ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΡΠ΅ΠΊΠΎΠ² Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ.
- ΠΠ»Π΅ΠΉΠ»ΠΈΡΡΡ: ΠΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΌΠΎΠ·Π°ΠΈΠΊΡ Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠ°ΠΌΠΈ ΠΏΠ»Π΅ΠΉΠ»ΠΈΡΡΠΎΠ².
- ΠΠ΅Π½Ρ: Π‘ Π»Π΅Π²ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠ°ΡΠΈΡΠ½ΡΠ΅ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠ½ΠΊΡΡ.
- Π’ΡΠ΅ΠΊΠΈ: ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡ Π½Π° ΡΠΏΠΈΡΠΎΠΊ ΡΡΠ΅ΠΊΠΎΠ².
- ΠΠ»Π΅ΠΉΠ»ΠΈΡΡΡ: ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡ Π½Π° ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ»Π΅ΠΉΠ»ΠΈΡΡΠΎΠ².
- ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠ»Π΅ΠΉΠ»ΠΈΡΡ: ΠΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΠ»Π΅ΠΉΠ»ΠΈΡΡ.
- ΠΠ»Π΅ΠΉΠ»ΠΈΡΡΡ: ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ ΡΡΠ΅ΠΊΠΎΠ² ΠΏΠ»Π΅ΠΉΠ»ΠΈΡΡΠ°.
- Π¨Π°ΠΏΠΊΠ°:
- ΠΠΌΡ ΠΈ Π°Π²Π°ΡΠ°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: Π ΠΏΡΠ°Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ, Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΠΌΠ΅Π½Ρ Π΄Π»Ρ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΡΠ΅ΡΡΠΈΠΈ.
- Π€ΠΎΡΠΌΠ° ΠΏΠΎΠΈΡΠΊΠ°: Π€ΠΈΠ»ΡΡΡΡΠ΅Ρ ΡΡΠ΅ΠΊΠΈ.
- ΠΠΎΠ³ΠΎΡΠΈΠΏ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ: ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΈ ΠΊΠ»ΠΈΠΊΠ΅.
- ΠΠ»Π΅Π΅Ρ ΠΌΡΠ·ΡΠΊΠΈ:
- ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΡΠ΅ΠΊΠ΅: ΠΠ±Π»ΠΎΠΆΠΊΠ° Π°Π»ΡΠ±ΠΎΠΌΠ°, Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°, ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ.
- ΠΠ½ΠΎΠΏΠΊΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ:
- ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ: ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΡΠ΅ΠΊΠΈ.
- ΠΠ°Π·Π°Π΄: ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅Ρ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΡΡΠ΅ΠΊ.
- ΠΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ/ΠΠ°ΡΠ·Π°: ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ.
- ΠΠΏΠ΅ΡΡΠ΄: ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅Ρ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ΅ΠΊ.
- ΠΠ° ΠΏΠΎΠ²ΡΠΎΡ: ΠΠΊΠ»ΡΡΠ°Π΅Ρ/Π²ΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΏΠΎΠ²ΡΠΎΡ.
- ΠΠΎΠ»ΠΎΡΠ° Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ: ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΠΌΠ΅ΡΡΠΎ ΠΈ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΡΠ΅ΠΊΠ°, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΠΎΠ»Π·ΡΠ½ΠΊΠΎΠΌ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠΈ.
- ΠΡΠΎΠΌΠΊΠΎΡΡΡ: ΠΠΎΠ»Π·ΡΠ½ΠΎΠΊ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π³ΡΠΎΠΌΠΊΠΎΡΡΡΡ.
ΠΠ°ΠΊΠ΅Ρ - Figma
$ git clone https://github.com/ingerstep/play-now.git
$ cd react-player
# ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ ΠΊ ΠΠ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡ
$ docker compose up --build
Client - http://localhost:5173
Server - http://localhost:3000
Swagger - http://localhost:3000/api
ΠΠΎΡΠ»Π΅ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π½ΡΠΆΠ½ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ backend ΡΠ°ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π΄Π°Π»Π΅Π΅ frontend.
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΡΠ°ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ c ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ NestJS - express, Swagger, TypeOrm ΠΈ SQLite.
ΠΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ - streaming_service_api.
$ npm install
$ npm run migration
# development
$ npm run start
ΠΠ»Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΎΡΠΈΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠΎ Π°ΠΏΠΈ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ "Swagger". ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° Π±ΡΠΊΠ΅ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ http://localhost:3000/api/
ΠΡΠΎΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠΎΠ½ΡΠ΅Π½Π΄ ΡΠ°ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅Π³ΠΎ React - Vite + SWC, Redux ΠΈ TypeScript. ΠΠ½ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΡΠ·ΡΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΡΠ΅ΠΊΠ°ΠΌΠΈ ΠΈ ΠΏΠ»Π΅ΠΉΠ»ΠΈΡΡΠ°ΠΌΠΈ.
ΠΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ - streaming_service.
$ npm install
# development
$ npm run dev
$ npm run build
$ npm run preview
$ npm run lint