Skip to content

Latest commit

 

History

History
26 lines (22 loc) · 2.84 KB

README_RU.md

File metadata and controls

26 lines (22 loc) · 2.84 KB

Дипломная работа: News Explorer

Яндекс Практикум

Превью News Explorer

News Explorer - одностраничное приложение для поиска новостей по ключевым словам, с возможностью регистрации и сохранения новостей в "избранное". Дипломная работа студента на курсе Яндекс Практикума "Веб-разработчик". Фронтэнд/бэкенд, MERN-функционал.


Технологии

  • Верстка - семантический HTML5, стили - CSS3 (в том числе Flexbox, Grid, transitions). Микроанимации элементов. Модель структуры и именования элементов по методологии БЭМ.
  • Логика - JavaScript ES6 (функциональный подход, async/await, fetch API).
  • Фронтенд - React, функциональные компоненты.
    • Функции Context, Ref, Redirect, Route, Switch.
    • Хуки useState, useEffect, useContext, useRef, useCallback, useHistory.
    • Авторизация, валидация на фронтенде, защита роутов, использование состояния компонентов.
    • Использование LocalStorage для хранения данных между сессиями.
    • Сборка с применением Create React App.
  • Фронтенд адаптирован под различные устройства - поддерживается разрешение экрана от 320 до 1280 и более пикселей по ширине.
  • Бэкенд - Node.js/Express.js. API реализован по принципам REST для работы с базой данных, аутентификации/авторизации.
    • Хранение и работа с данными - MongoDB, использование schema, CRUD-операций. Для работы с Node использован Mongoose.
    • Применяется валидация поступающих данных (в том числе с помощью node-модулей validator, joi/celebrate).
    • Для авторизации используется серверный куки с зашифрованным JWT-токеном.
    • Ведутся логи доступа и ошибок при помощи модуля winston.
    • Реализована централизованная обработка ошибок с отправкой корректных статусов и сообщений о ошибках на запросы.
  • Код стандартизирован при помощи ESLint в конфигурации airbnb-base.