Skip to content

gvsem/fonar

Repository files navigation

Ѐилософская ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΡΠ΅Ρ‚ΡŒ Β«Π€ΠΎΠ½Π°Ρ€ΡŒΒ», основанная Π½Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠ΅ Ρ€Π΅ΠΏΠ»ΠΈΠΊ β€” ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΉ. Π‘ΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΡΠ΅Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для просмотра ΠΈ размСщСния авторских публицистичСских, худоТСствСнных ΠΈ философских тСкстов ΡˆΠΈΡ€ΠΎΠΊΠΎΠΉ Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ цитирования Ρ€Π°Π½Π΅Π΅ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… тСкстов, Π° Ρ‚Π°ΠΊΠΆΠ΅ оформлСния ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠΎΠ² β€” ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² Π½Π° эти тСксты.

Быстрый старт

Π€ΠΎΠ½Π°Ρ€ΡŒ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½ Π² docker-ΠΎΠ±Ρ€Π°Π·, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρƒ сСбя локально:

docker-compose up

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ являСтся философская ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΡΠ΅Ρ‚ΡŒ Β«Π€ΠΎΠ½Π°Ρ€ΡŒΒ» Π½Π° языкС программирования TypeScript с использованиСм Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° NestJS для сСрвСрной части прилоТСния, Π° Ρ‚Π°ΠΊΠΆΠ΅ языка программирования JavaScript Π±Π΅Π· использования Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² для клиСнтской части прилоТСния.

ЦСлью Ρ€Π°Π±ΠΎΡ‚Ρ‹ являСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²Π΅Π±-прилоТСния ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса, Π°Π½Π°Π»ΠΈΠ· Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ процСссов, срСдств Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы.

Π’ Ρ…ΠΎΠ΄Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹:

  • БСрвСрная Ρ‡Π°ΡΡ‚ΡŒ систСмы, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π°Ρ запросы
  • ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ систСмы, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ интСрфСйс ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ для создания ΠΈ измСнСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ профиля, рСдактирования ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°;
  • Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… для хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΡ…, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… записях ΠΈ коммСнтариях

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ, обобщСния ΠΈ сокращСния

  • Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ β€” ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС для просмотра Π²Π΅Π±-страниц ΠΈ содСрТания Π²Π΅Π±-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².
  • Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ β€” программная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π°Ρ структуру ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ систСмы, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… инструмСнтов, ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ объСдинСниС Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.
  • Π€Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄ β€” клиСнтская сторона ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ-Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ части сСрвиса.
  • БэкСнд β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ-аппаратная Ρ‡Π°ΡΡ‚ΡŒ сСрвиса, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π°Ρ Π·Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΅Π³ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ части.

Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹:

  • Π Π΅ΠΏΠ»ΠΈΠΊΠ° (Replique) – Π΅Π΄ΠΈΠ½ΠΈΡ†Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ; Сдиноразовая публикация, состоящая ΠΈΠ· Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, тСкстовой Π²Π²ΠΎΠ΄Π½ΠΎΠΉ части (прСдисловия) ΠΈ основной ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ части, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠΌ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ΅.
  • ΠžΡ‚ΠΊΠ»ΠΈΠΊ (Reponse) – тСкстовый ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ, оставлСнный ΠΊ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ΅.

ОписаниС ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области

ОписаниС ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ процСсса

Π Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ являСтся ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ философской ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ сСти Β«Π€ΠΎΠ½Π°Ρ€ΡŒΒ», основанной Π½Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠ΅ Ρ€Π΅ΠΏΠ»ΠΈΠΊ β€” ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΉ. Π‘ΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΡΠ΅Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для просмотра ΠΈ размСщСния авторских публицистичСских, худоТСствСнных ΠΈ философских тСкстов ΡˆΠΈΡ€ΠΎΠΊΠΎΠΉ Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ цитирования Ρ€Π°Π½Π΅Π΅ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… тСкстов, Π° Ρ‚Π°ΠΊΠΆΠ΅ оформлСния ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠΎΠ² β€” ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² Π½Π° эти тСксты.

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с классичСскими систСмами управлСния ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ, Π½Π° основС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… надстраиваСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ сСти, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ряд Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ созданиС, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π΅Π΄ΠΈΠ½ΠΈΡ† ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°. Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… спСцифики «Ѐонаря» ΠΊΠ°ΠΊ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ сСти Ρ‚Π°ΠΊΠΆΠ΅ рассматриваСтся Π·Π°Π΄Π°Ρ‡Π° создания Ρ€Π΅ΠΏΠ»ΠΈΠΊ-ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ коммСнтирования ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ€Π΅ΠΏΠ»ΠΈΠΊ.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ трСбования

ΠœΠΎΠ΄ΡƒΠ»ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°ΠΌΠΈ (ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌΠΈ записями) Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ:

  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ ΠΏΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΡƒ
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ рСдактирования Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, прСдисловия ΠΈ тСкста Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ прикрСплСния Ρ€Π΅ΠΏΠ»ΠΈΠΊ, ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠΌ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ являСтся рСдактируСмая Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ-наброска
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ удалСния Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ
  • ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ тСкста Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ ΠΈ Ρ€Π΅ΠΏΠ»ΠΈΠΊ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ тСкущая Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°
  • ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π΅ΠΏΠ»ΠΈΠΊ, ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π½Π° сСрвисС

ΠœΠΎΠ΄ΡƒΠ»ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ:

  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ рСгистрации Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° ΠΈ пароля
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ измСнСния Π»ΠΈΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… профиля ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
  • ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ профиля

ΠœΠΎΠ΄ΡƒΠ»ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ°ΠΌΠΈ (коммСнтариями) Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ:

  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ добавлСния ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΡƒ
  • ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ всСх оставлСнных ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠΎΠ² Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΡƒ

ΠΠ΅Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ трСбования

РазрабатываСмая систСма Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ просмотра ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ€Π΅ΠΏΠ»ΠΈΠΊ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π±Π΅Π· рСгистрации.

Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ интСрфСйсы, описанныС ΠΏΠΎ спСцификации OpenAPI вСрсии Π½Π΅ Π½ΠΈΠΆΠ΅ 3.0

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ стСк Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° систСмы Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π²Π΅Π±-прилоТСния обусловлСна Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ обСспСчСния доступа ΠΊ систСмС с любого устройства, Π° Ρ‚Π°ΠΊΠΆΠ΅ позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ нСобходимости синхронизации большого объСма Π΄Π°Π½Π½Ρ‹Ρ…, свойствСнных ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ сСтям.

Π€Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ стСк стандартных Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Ρ… для Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ: язык Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ HTML, язык стилСй CSS, язык программирования JavaScript. Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Bulma Π½Π° основС языка SCSS вмСстС с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ BulmaJS. Для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ запросов ΠΈ отобраТСния Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ JQuery ΠΈ Toastr.

Π‘Π΅ΠΊΠ΅Π½Π΄ состоит ΠΈΠ· Π²Π΅Π±-сСрвСра Express ΠΈ сокСт-сСрвСра Socket.IO Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° NestJS.

Π’ качСствС Π‘Π£Π‘Π” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ PostgreSQL Π²Π²ΠΈΠ΄Ρƒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ стандартный Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚ языка запросов SQL, отказоустойчива ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠ°. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π±Ρ‹Π»Π° Π²Ρ‹Π±Ρ€Π°Π½Π° тСхнология программирования TypeORM.

Π’ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ свободная распрСдСлённая систСма управлСния вСрсиями Git, Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ исходных ΠΊΠΎΠ΄ΠΎΠ² являСтся ΠΊΡ€ΡƒΠΏΠ½Π΅ΠΉΡˆΠΈΠΉ Π²Π΅Π±-сСрвис GitHub, Π° Π² качСствС хостинга ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹ΠΉ сСрвис Heroku.

БистСмная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°

ΠšΠ»ΠΈΠ΅Π½Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ Π²Π΅Π±-сСрвСру ΠΈΠ· Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° HTTPS. Для обСспСчСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Π΅Π±-прилоТСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ сСрвСр PostgreSQL, Π° Ρ‚Π°ΠΊΠΆΠ΅ сторонний сСрвис для обСспСчСния Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Supertokens.

Рисунок 1. БистСмная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° прилоТСния.

АрхитСктура Π΄Π°Π½Π½Ρ‹Ρ…

Π’Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠ΅ΡΡ экзСмплярами Ρ‚Ρ€Π΅Ρ… сущностСй: User (ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ), Replique (Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ° β€” запись), Reponse (ΠΎΡ‚ΠΊΠ»ΠΈΠΊ β€” ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ):

  • User β€” содСрТит Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ профиля, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ страницы, ΠΈΠΌΠ΅Π½Π½Ρ‹Π΅ подписи ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Supertokens.
  • Replique β€” содСрТит Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, прСдисловиС ΠΈ тСкст ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ, Π΄Π°Ρ‚Ρ‹ создания ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ссылки Π½Π° User ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Replique.
  • Reponse β€” содСрТит ссылку Π½Π° Π°Π²Ρ‚ΠΎΡ€Π° User ΠΈ Ρ€Π΅ΠΏΠ»ΠΈΠΊΡƒ Replique, Π΄Π°Ρ‚Ρƒ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ тСкст коммСнтария.

User ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Replique ΠΈ Reponse. Replique ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠΌ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Replique, поэтому ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΎ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ replique_discours_replique. Replique ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ нСсколько Reponse.

Рисунок 2. Π‘Ρ…Π΅ΠΌΠ° Ρ‚Π°Π±Π»ΠΈΡ† Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°

Π’Π°Π±Π»ΠΈΡ†Π° 1. ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ классов

НазваниС модуля

НазваниС класса

НазначСниС класса

AuthModule

AuthController

БСрвис (ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€)

AuthFilter

Π€ΠΈΠ»ΡŒΡ‚Ρ€ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ

AuthMiddleware

ΠŸΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ слой для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Supertokens

guards / AuthGuard

Guard для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ΠΌ

guards / AuthRequiredGuard

Guard, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΉ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

PageModule

PageController

БСрвис (ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€)

PageExceptionFilter

Π€ΠΈΠ»ΡŒΡ‚Ρ€ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ

LoggingInterceptor

Класс для добавлСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ страницы

RepliqueModule

RepliqueController

БСрвис (ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€)

Publication

Абстрактный класс для прСдставлСния ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΉ

Replique

Класс Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ

dto / CreateRepliqueDto

Класс для Π΄Π°Π½Π½Ρ‹Ρ… запроса создания Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ

dto / UpdateRepliqueDto

Класс для Π΄Π°Π½Π½Ρ‹Ρ… запроса обновлСния Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ

guards / UserOwnsRepliqueGuard

Guard для трСбования Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅ΠΌ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΎΠΉ

ReponseModule

ReponseController

БСрвис (ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€)

Reponse

Класс ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ°

Dto / CreateReponseDto

Класс для Π΄Π°Π½Π½Ρ‹Ρ… запроса создания ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ°

SocialbusModule

GlobalGateway

Π‘ΠΎΠΊΠ΅Ρ‚-сСрвис для ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ сообщСниями

UserModule

UserController

БСрвис (ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€)

User

Класс ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

AppModule

–

Π’Π°Π±Π»ΠΈΡ†Π° 2. ОписаниС классов

НазваниС класса

ОписаниС класса

AppService

Класс, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для получСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π²Π΅Π±-прилоТСния, Π² Ρ‚.Ρ‡. слуТСбных ссылок

PageService

Класс, ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ страниц ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ сСти, Π² Ρ‚.Ρ‡. страницы Π²Ρ…ΠΎΠ΄Π° ΠΈ рСгистрации, списков ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ€Π΅ΠΏΠ»ΠΈΠΊ, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ΠΉ ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊ, настроСк ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

RepliqueService

Класс, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅, просмотр ΠΈ поиск ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ€Π΅ΠΏΠ»ΠΈΠΊ

ReponseService

Класс, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ просмотр ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠΎΠ²

UserService

Класс, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ рСгистрации ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, измСнСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ возвращСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅

translation / TranslationService

Класс для хранСния Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠ²

supertokens / SupertokensService

Класс для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Ρƒ Supertokens

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°

РСализация сСрвСрного API

Π’ качСствС описания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ интСрфСйса Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½ инструмСнт, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ стандарт OAS 3.0 – Swagger. Π”Π°Π»Π΅Π΅ прСдставлСна получСнная докумСнтация API получСнная автоматичСски ΠΏΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π°ΠΌ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Π² Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€Π°Ρ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ структурах Π΄Π°Π½Π½Ρ‹Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы.

Рисунок 3. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ интСрфСйс сСрвСрного API.

screenshot screenshot

РСализация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Ρ„ΠΈΡ€ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ стиля Ѐонаря (Ρ†Π²Π΅Ρ‚Π° #FDDF97 ΠΈ #364968), Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡˆΡ€ΠΈΡ„Ρ‚ Inter.

РСгистрация ΠΈ авторизация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ произодится с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… страниц. Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ подсказки ΠΈ мгновСнная валидация ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ элСктронный адрСс.

Рисунок 4. Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° Π²Ρ…ΠΎΠ΄Π° ΠΊ Π€ΠΎΠ½Π°Ρ€ΡŽ

Рисунок 5. Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° рСгистрации Π½Π° Π€ΠΎΠ½Π°Ρ€Π΅ screenshot

Π’ своСм ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ свои наброски, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ. Π’ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ набросок Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Π³ΠΎ тСкст. Π’ шапкС профиля показываСтся имя, псСвдоним ΠΈ описаниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Рисунок 6. Π’ΠΈΠ΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ профиля

Рисунок 7. Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ

На страницС рСдактирования Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ, ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠΌ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ являСтся тСкущая Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, прСдисловиС ΠΈ тСкст Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ EditorJS.

Рисунок 8. Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° рСдактирования Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ своСго профиля Π½Π° страницС настроСк.

Рисунок 9. Настройки ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

Π Π΅ΠΏΠ»ΠΈΠΊΠΈ Π½Π° Π€ΠΎΠ½Π°Ρ€Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅, ΠΈ ΠΏΠΎ Π½ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ поиск с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ поискового тСкстового поля.

Рисунок 10. Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° просмотра ΠΈ поиска всСх Ρ€Π΅ΠΏΠ»ΠΈΠΊ Ѐонаря

Π’ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΌ поэтичСском стилС Ѐонаря ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Ρ‹ ΠΈ ошибки:

Рисунок 11. Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° ошибки 404

Рисунок 12. Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° профиля Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ созданного ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠΎΠ² Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Π²ΠΈΠ΄Π΅ Ρ€Π°Π·Π΄Π΅Π»Π° ΠΏΠΎΠ΄ тСкстом Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΡ‚ΠΊΠ»ΠΈΠΊ ΠΈ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠΈ.

Рисунок 13. Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ для Π½Π΅Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

Рисунок 14. Π Π°Π·Π΄Π΅Π» ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠΎΠ² для Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ

Рисунок 15. Π’ΠΈΠ΄ ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠΎΠ²

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ Ρ…ΠΎΠ΄Π΅ выполнСния курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π» ΠΏΡ€ΠΎΠ²Π΅Π΄Ρ‘Π½ Π°Π½Π°Π»ΠΈΠ· Ρ€Π°Π±ΠΎΡ‚Ρ‹ классичСских систСм управлСния сайтами, исходя ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Ρ‹Π»ΠΈ выявлСны ΠΈ сформированы трСбования ΠΊ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΌΡƒ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ. Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΈ Π½Π°Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π±Ρ‹Π»ΠΈ сформированы трСбования ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ тСхнологиям Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. Π‘Ρ‹Π»Π° спроСктирована Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ…, программная ΠΈ систСмная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π² Π²ΠΈΠ΄Π΅ Π½Π°Π±ΠΎΡ€Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ Π² Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ UML. ΠžΠΏΠΈΡ€Π°ΡΡΡŒ Π½Π° Π²Ρ‹ΡˆΠ΅ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ трСбования ΠΈ стСк Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π±Ρ‹Π»ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс Π² Ρ€Π°ΠΌΠΊΠ°Ρ… дисциплины Β«Web-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅Β».

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, всС поставлСнныС Ρ€Π°Π½Π΅Π΅ Ρ†Π΅Π»ΠΈ Π±Ρ‹Π»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ являСтся Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π΄Π°Π½Π½ΠΎΠΉ курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Бписок использованной Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

  1. ΠœΠ°Ρ€Ρ‚ΠΈΠ½ Π€Π°ΡƒΠ»Π΅Ρ€ - АрхитСктура ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π΄ΠΎΠΌ "Π’ΠΈΠ»ΡŒΡΠΌΠ΅'. 2006 Π³.
  2. Ѐлэнаган, Дэвид. JavaScript. ПолноС руководство, 7-Π΅ ΠΈΠ·Π΄. : ΠŸΠ΅Ρ€. с Π°Π½Π³Π». β€” БПб. : ООО β€œΠ”ΠΈΠ°Π»Π΅ΠΊΡ‚ΠΈΠΊΠ°β€, 2021. β€” 720 с .
  3. Π―Π½Π³ А., МСк Π‘., ΠšΠ°Π½Ρ‚Π΅Π»ΠΎΠ½ М. Node.js Π² дСйствии. 2-Π΅ ΠΈΠ·Π΄. β€” БПб.: ΠŸΠΈΡ‚Π΅Ρ€, 2018. β€” 432 с.
  4. Π‘Ρ€Π°ΡƒΠ½ И.Π’Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Node ΠΈ Express. ΠŸΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ΅ использованиС стСка JavaScript. 2-Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅. β€” БПб.: ΠŸΠΈΡ‚Π΅Ρ€, 2021. β€” 336 с.
  5. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ JavaScript [Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½Ρ‹ΠΉ рСсурс]. – Π Π΅ΠΆΠΈΠΌ доступа: https://learn.javascript.ru/. – Π”Π°Ρ‚Π° доступа: 04.05.2021.