Git Product home page Git Product logo

api_mini_lab_2's Introduction

api_mini_lab_2

Про лабу

  • Есть наработка одностраничной формы регистрации/атворизации. Её нужно доработать
  • Используется библиотека стилей materialize. Рекомендую разобраться в том, как она работает в нашем коде и вообще
  • В коде много комментариев, которые стоит прочитать. Там подсказки и доп знания по теме
  • Есть участок с демонстрационным кодом. Используюя его и консоль браузера можно быстро и относительно интересно познакомитсья с работой фронтенд приложения
  • Три части задач: инфраструктурная + JS + верстка (всё, как в реальных проектах)

Что можно узнать

("тема": "конкретное знание" => "что из этого вырастет потом")
  • Менеджер пакетов JS: как устанавливать зависимости для проектов => работа со сборкой и деплоем проектов на JS, поддержка зависимостей и разворачивание своих Docker-контейнеров
  • Основной синтаксис JS: стрелочные функции, экспортирование объектов, функциональный стиль, модификация DOM дерева, селекторы => продвинутые возможности JS, вход во фреймворки (VueJS, ReactJS)
  • Верстка: устройство HTML страницы, импорт из CDN => понимание концепции HTML, умение дебажить элементы и верстать страницы
  • Интсрументы: пнаель разработчика в браузере, изменение стилей, консоль => умение дебажить фронтенд код, быстрый просмотр стилей, умение сдавать курсы на openEdu без прохождения тестов

Задание

Указано минимальное время, за которое можно выполнить часть задачи. В жизни, оно может быть умножено на 10
  1. Установить менеджер пакетов NodeJS (20 минут+) (инфраструктура) Указания:
  •   Необходимо перейти на официальный сайт и скачать последнюю стабильную версию   под вашу ОС
  •   После загрузки инсталлятор следует запустить и установить Node.js, как любую другую программу.
  •   Убедимся, что всё установилось. Для этого в cmder проверим версию Node. js с помощью команды node -v и npm -v Примечание: Оригинальный гайд Примечание: При установке не убирайте настройку "Добавить в PATH". Иначе консоль не будет видеть ваши обращения к npm
  1. Склонировать проект, открыть его в IDE (IntelliJ IDEA, Pycharm, WebStorm, ...), изучить структуру, найти где и что лежит, создать и настроить приватный репозиторий (30 минут+) (инфраструктура)
  2. Установить зависимости и открыть index.html (5 минут+) (инфраструктура) Указание: Для установки зависимостей, находясь в корне проекта, выполните в консоле команду npm install
  3. Реализовать валидацию пароля на JS (10 минут+) (JS) Указание: Требования валидации собственные, на усмотрение выполняющего Указание: Смотреть пример валидации почты в main.js Прмечание: Если поле невалидно - нужно красить красненьким. Можно использовать класс valid/invalid. Пример есть в демонстрационном блоке кода Прмечание: Не обязательно использовать regexp, но желательно.
  4. Реализовать форму авторизации по аналогии с формой регистрации. (30 минут+) (HTML+CSS+JS) Указание: Для добавления функционала лучше использовать селекторы по классу, чтобы не дублировать код
  5. Блокировать кнопку регистрации/авторизации пока все поля не станут валидными (20 минут+) (JS+HTML) Указание: используйте функцию getValidationStatus и свойство disabled у HTML-объекта. Если какое-то поле поменялось - оно может перестать быть валидным. Хороший тон сразу уведомить об этом пользователя, а не после нажатия на кнопку отправки формы
  6. (*) Адаптировать форму для телефонов, другие изменения в стилях и верстке (CSS) Прмечание: Необязательное творческое задание, позволит набрать за лабу чуть больше баллов.

Материалы

Вопросы

Появятся на Trello
  • Почему скрипт main.js нужно импортировтаь в HTML в конце?
  • Зачем нужен файл package-lock.json в проекте?

Настройка репозитория

Сделайте свою приватную копию репозитория. Как это сделать, описано тут или тут. Или можно создать чистый репозиторий самостоятельно и залить код туда. Важно, чтобы он был приватным!

Добавьте проверяющего в коллабораторы. GitHub логин: maegv.

Отправка задания

Выполните задания, сохраните изменения, сделайте commit и push в свой репозиторий.

Напишите на почту [email protected] письмо с темой вида MiniLab-2 ФИО группа с просьбой проверить работу. В письме должна быть ссылка на репозиторий с выполненной работой, проверяться будет версия, которая лежит в ветке main. Репозиторий должен быть приватным; в ветке main не должно быть файлов и папок с русскими названиями!

Дедлайн

Дедлайн: 23:59 26/11/2023 (26 ноября).

api_mini_lab_2's People

Contributors

maegv avatar uuyy-geniy 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.