Этот проект был создан с помощью Create React App.
- Интро
- Технологии
- Как работать с проектом
Интро
Это дипломный проект, который содержит лендинг-страницу портфолио.
Для работы с данным приложением надо зарегистрироваться или авторизоваться на нём.
Список фильмов загружается с сервера https://api.nomoreparties.co/beatfilm-movies.
Далее по этому списку фильмом осуществляется поиск. Выбранные фильмы сохраняются в личном кабинете, из которого их можно удалить.
Перед отправкой данных, они проверяются на стороне клиента (реализована валидация).
Технологии
- БЭМ
- адаптивность под разные устройства
- javascript
- fetch
- React
- функциональные компоненты
- React-хуки: useState и useEffect с замыканием
- Работа с React.createContext
- Создание React списков с ключами
- Управляемые и неуправляемые компоненты
Как работать с проектом
- Для запустка скриптов проекта должен быть установлен Node.js 14 версия.
- Чтобы работала серверная часть с базой данных:
- Надо установить MongoDB (выберите версию 4.4.9) и запустить (для этого в терминале выполните команду
mongod
) - Для графического представления базы данных можно установить Compass. На Windows он уже установлен вместе с самой Mongo.
- Для запуска серверной части приложения, которая отвечает за авторизацию, сохранение и удаление понравившихся фильмов, надо установить и запустить бэкенд из репозитория по ссылке
- Надо установить MongoDB (выберите версию 4.4.9) и запустить (для этого в терминале выполните команду
- Чтобы запустить фронтенд надо в каталоге проекта установить зависимости и запустить проект в режиме разработки.
Рекомендуется запускать проект согласно этапам описанным выше. При запуске фронтенда после бэкенда в терминале появится сообщение, что порт 3000 занят и предложение запустить фронтенд на другом порту. Для согласия введите y
.
В каталоге проекта вы можете запустить:
npm install
Устанавливает в папку node_modules зависимости необходимые для проекта.
npm start
Запускает приложение в режиме разработки.
Откройте http://localhost:3000, чтобы просмотреть его в браузере.
Страница перезагрузится, если вы внесете правки.
Вы также увидите любые ошибки в консоли.
npm run build
Собирает приложение для публикации в папку build
.
Оптимизирует сборку для достижения максимальной производительности.
Сборка минифицирована, а имена файлов включают хеши.
Ваше приложение готово к публикации!
Смотрите раздел о deployment для дополнительной информации.
npm run eject
Примечание: это односторонняя операция. После того, как вы выполните eject
, вы не сможете вернуться!
Если вас не устраивает инструмент сборки и выбор конфигурации, вы можете сделать eject
в любой момент. Эта команда удалит из вашего проекта зависимость отдельной сборки.
Вместо этого он скопирует все файлы конфигурации и транзитивные зависимости (webpack, Babel, ESLint и т.д.) Прямо в ваш проект, чтобы вы имели полный контроль над ними. Все команды, кроме eject
, по-прежнему будут работать, но они будут указывать на скопированные сценарии, чтобы вы могли их настроить.
npm run test
Запускает тесты в режиме отслеживания изменений при сохранении файлов с тестами.