Skip to content

🎈 Simple twitter clone made with React.js, Redux, Node.js, Express, MongoDB.

Notifications You must be signed in to change notification settings

seryozhabaleyko/twitter-clone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Twitter Clone

CΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΡΠ΅Ρ‚ΡŒ для ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π²Π΅Π±-интСрфСйса, SMS, срСдств ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями ΠΈΠ»ΠΈ сторонних ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° любого возраста. ΠŸΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… Π·Π°ΠΌΠ΅Ρ‚ΠΎΠΊ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π±Π»ΠΎΠ³Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Β«ΠΌΠΈΠΊΡ€ΠΎΠ±Π»ΠΎΠ³ΠΈΠ½Π³Β».

Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ

Frontend:

  • TypeScript - язык программирования, прСдставлСнный Microsoft Π² 2012 Π³ΠΎΠ΄Ρƒ ΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠ°ΠΊ срСдство Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‰Π΅Π΅ возмоТности JavaScript.
  • React - JavaScript-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… интСрфСйсов.
  • React Router Dom - это Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ с вашим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.
  • Create React App - ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ инструмСнт для быстрого старта React-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π’Ρ‹ Π½Π΅ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚Π΅ врСмя Π½Π° настройку Webpack, Babel ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Ρ… инструмСнтов. Они Π·Π°Ρ€Π°Π½Π΅Π΅ настроСны ΠΈ спрятаны, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ„ΠΎΠΊΡƒΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° ΠΊΠΎΠ΄Π΅ ΠΈ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ΅ прилоТСния.
  • Redux - Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для JavaScript с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, прСдназначСнная для управлСния состояниСм прилоТСния. Π§Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² связкС с React ΠΈΠ»ΠΈ Angular для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ клиСнтской части. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ряд инструмСнтов, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Ρ‡Π΅Ρ€Π΅Π· контСкст.
  • Redux-Saga - это Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, которая ΠΏΡ€ΠΈΠ·Π²Π°Π½Π° ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Π΅ эффСкты (Ρ‚.Π΅. Ρ‚Π°ΠΊΠΈΠ΅ дСйствия, ΠΊΠ°ΠΊ асинхронныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ "грязныС" дСйствия, Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ доступ ΠΊ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½ΠΎΠΌΡƒ ΠΊΠ΅ΡˆΡƒ), ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π»Ρ‘Π³ΠΊΠΈΠΌΠΈ Π² тСстировании ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ ΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ с ошибками.
  • Axios - это ΡˆΠΈΡ€ΠΎΠΊΠΎ извСстная JavaScript-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°. Она прСдставляСт собой HTTP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚, основанный Π½Π° промисах ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² ΠΈ для Node.
  • Reselect - это Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для создания ΠΌΠ΅ΠΌΠΎΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… сСлСкторов (memoized selectors). ΠœΡ‹ опрСдСляСм сСлСкторы ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡŽΡ‰ΠΈΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ состояния Redux для Π½Π°ΡˆΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² React.
  • Sass - это мСтаязык Π½Π° основС CSS, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для увСличСния уровня абстракции CSS-ΠΊΠΎΠ΄Π° ΠΈ упрощСния Ρ„Π°ΠΉΠ»ΠΎΠ² каскадных Ρ‚Π°Π±Π»ΠΈΡ† стилСй.

Backend:

  • Node.js - программная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, основанная Π½Π° Π΄Π²ΠΈΠΆΠΊΠ΅ V8, ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π°Ρ JavaScript ΠΈΠ· узкоспСциализированного языка Π² язык ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния.
  • TypeScript - язык программирования, прСдставлСнный Microsoft Π² 2012 Π³ΠΎΠ΄Ρƒ ΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠ°ΠΊ срСдство Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‰Π΅Π΅ возмоТности JavaScript.
  • Express - это минималистичный ΠΈ Π³ΠΈΠ±ΠΊΠΈΠΉ Π²Π΅Π±-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Node.js, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
  • Mongoose - это Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° JavaScript, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π²Π°ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ схСмы со строго-Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Π‘Ρ€Π°Π·Ρƒ послС опрСдСлСния схСмы Mongoose Π΄Π°Π΅Ρ‚ Π²Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Model (модСль), ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ схСмС. Π—Π°Ρ‚Π΅ΠΌ модСль синхронизируСтся с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ MongoDB с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ опрСдСлСния схСмы ΠΌΠΎΠ΄Π΅Π»ΠΈ.
  • Nodemon - это инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ прилоТСния Π½Π° основС node.js ΠΏΡƒΡ‚Π΅ΠΌ автоматичСского пСрСзапуска прилоТСния node ΠΏΡ€ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅.
  • MongoDB - докумСнтоориСнтированная систСма управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π°Ρ описания схСмы Ρ‚Π°Π±Π»ΠΈΡ†. БчитаСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· классичСских ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² NoSQL-систСм, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ JSON-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈ схСму Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Написана Π½Π° языкС C++.

Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚

About

🎈 Simple twitter clone made with React.js, Redux, Node.js, Express, MongoDB.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages