Giter Club home page Giter Club logo

only-history's Introduction

Описание и руководство по работе с проектом

History Dates - интерактивное приложение, позволяющее пролистать наиболее значимые исторические события, произошедшие в разные периоды ХХ века. Приложение имеет шесть исторических промежутков от 1905 до 2022 г., и шесть различных тематик отображаемых событий.

В приложении реализован следующий функционал:

  • приложение создано с использованием TypeScript, React и React Hooks (useState). В качестве дополнительных библиотек были использованы Swiper JS (слайдер событий) и react-spring (анимация смены дат);
  • приложение имеет адаптивный интерфейс, реализация выполнена по принципу Mobile First с контрольными точками 320 и 768px;
  • на десктопной версии приложения смена тематики выполняется вращением "колеса событий", в мобильной версии этот функционал реализован в виде селекта с выпадающими темами. "Колесо событий" и селект имеют взаимную обратную связь.
  • слайдер событий выполняет сортировку событий по годам, сортировка по возрастанию;
  • разметка приложения выполнена по методологии БЭМ;
  • для сборки проекта используется Webpack;

Структура проекта


Не удаляйте и не изменяйте папки и файлы: .editorconfig, .gitattributes, .gitignore, package.json.


public

Директория для размещения статичных ресурсов (шрифты, стили, изображения и так далее). Корневая директория проекта.

Обратите внимание, файл Readme.md, в директории public, содержит описание подготовительного процесса, который вам необходимо выполнить перед тем, как приступать к работе над проектом.

src

В директории размещаются исходный код проекта: компоненты, файлы с тестами, модули и так далее. Структура директории src может быть произвольной.

Сценарии

После создания проекта вам доступны следующие сценарии. Обратите внимание, для запуска сценария, вы должны находится в директории проекта (./project).

Запуск проекта

npm start

После запуска, приложение доступно для просмотра в браузере по адресу http://localhost:3000.

При сохранении изменений, проект перезапускается и обновляется в браузере. Таким образом, вы можете следить за разработкой проекта в режиме реального времени.

Обратите внимание, режим разработки настроен таким образом, при котором ошибки, найденные статическим анализатором кода ESLint, отображаются в той же вкладке браузера, в которой запущен проект.

Запуск тестов

npm test

Запуск тестов приложения в интерактивном режиме.

В данном случае, имеются в виду тесты, которые вынесены в отдельные файлы, в имени которых присутствует суффикс *.test.*. Например, app.test.tsx.

Подробную информацию вы можете найти на странице Запуск тестов.

Проверка линтером

npm run lint

Запуск проверки проекта статическим анализатором кода ESLint.

Анализ кода производится только в файлах, которые находятся в директории src.

Обратите внимание, при запуске данной команды, ошибки выводятся в терминал.

Сборка проекта

npm run build

Запуск сборки приложения.

В процессе сборки приложения, код приложения оптимизируется и минимизируется, для достижения наилучшей производительности.

Во время выполнения инструкций по сборке проекта, в корне проекта создается директория build, в которую будут помещены результирующие файлы. После сборки проект готов к публикации.

Подробную информацию вы можете найти на странице Развертывание проекта.

Извлечение конфигурации проекта

npm run eject

Обратите внимание, при запуске команды npm run eject нет возможности вернуть внесённые изменения обратно!

Выполнение данной команды, react-scripts скопирует все конфигурационные файлы и скрипты в корень проекта. Данный процесс позволяет получить полный контроль над конфигурацией проекта.

Не используйте данную команду, если не уверены как именно она работает или к какому результату приведёт ее выполнение.

only-history's People

Contributors

itwaslazyday avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.