WoodenPC / book-editor

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Руководство по запуску

В корне проекта

  1. Выполнить yarn install
    • Выполнить yarn start для дев запуска
    • Выполнить yarn build, npx serve -s build для прод запуска
  2. Открыть страницу в браузере по адресу, который будет в консоли (по дефолту localhost:3000 для дев, localhost:5000 для прод режима)

Дополнительные библиотеки:

  1. styled-components для написания стилей css-in-js
  2. date-fns для обработки дат
  3. uuid для генерации уникальных id
  4. react-router-dom для роутинга

Дополнительная информация

Приложение состоит из 2 страниц - списка книг (BooksPage) и редактирование данных книги/добавление новой книги (BookPage). Краткое описание структуры приложения:

  • App - приложение
    • BooksContext - контекст данных приложения
    • constants - общие константы
    • pages - страницы
    • ui - ui компоненты
    • widgets - виджеты
  • types - глобальные дефинишены стилей (.d.ts)

ТЗ

Написать небольшое одностраничное веб-приложение – редактор книг. Цель: продемонстрировать знание JavaScript и SPA фреймворка/архитектуры, HTML/CSS Оценивается: полнота реализации требований, модульность и архитектура приложения, простота и читабельность кода, следование принципам KISS/DRY Функциональные требования: • Отображать список книг со следующими параметрами:

  • заголовок (обязательный параметр, не более 30 символов)
  • список авторов (книга должна содержать хотя бы одного автора)
    • имя автора (обязательный параметр, не более 20 символов)
    • фамилия автора (обязательный параметр, не более 20 символов)
  • количество страниц (обязательный параметр, больше 0 и не более 10000)
  • название издательства (опциональный параметр, не более 30 символов)
  • год публикации (опциональный параметр, не раньше 1800)
  • дата выхода в тираж (опциональный параметр, не раньше 01.01.1800)
  • ISBN с валидацией (опциональный параметр, http://en.wikipedia.org/wiki/International_Standard_Book_Number)
  • изображение (опциональный параметр) • Возможность добавлять, удалять и редактировать существующие книги и ее авторов. • Возможность сортировать по заголовку и году публикации (сортировка должна сохраняться после перезагрузки страницы) • Возможность загружать изображение

Нефункциональные требования: • Технологии – React 16.8+ • Хранение данных – localStorage • Клиентская валидация • Клиентский роутинг

About


Languages

Language:TypeScript 95.7%Language:HTML 2.9%Language:JavaScript 1.4%