Skip to content

kkocherov/web-development-course-2020

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 

Repository files navigation

Общая информация

Расписание:

Лекции вторник, четверг 18:00-20:00
Практика суббота 10:00-13:00

Трансляции проходят на Twitch:
https://www.twitch.tv/singietone

Связь со мной

https://t.me/kkocherov

Материалы курса


Неделя 1

Лекция 1 Programming languages and other good ideas

Лекция 2 Linux

Практика 1 Задание с авторизацией, правами, пользователями, группами


Неделя 2

Основы программирования: Игра с окружностями


Неделя 3

Лекция 3 HTML, HTTP, REST

Лекция 4 Среда исполнения браузера

Практика 2 Фронтенд: простенький статичный сайт


Недели 4 и 5

Бэкенд: простой сайт с авторизацией и пользователями


Неделя 6

СУБД

Неделя 7

Неделя 8

ООП и дизайн

Неделя 9

Неделя 10

Неделя 11

Неделя 12

Другие материалы

  1. Могу посоветовать вот такой репозиторий
    https://github.com/jwasham/coding-interview-university
    Там очень много структурированной упорядоченной инфы, которую собирал человек,
    который хотел устроиться на работу в крупную компанию разработчиком с 0 опытом.

  2. А есть еще такая подборка литературы в качестве альтернативы
    https://tproger.ru/books/the-25-most-recommended-programming-books-of-all-time/

  3. Вот здесь ПОТРЯСАЮЩИЙ курс по программированию с нуля. Правда он немного старенький) Зато от MIT. И еще и на лиспе!
    https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/video-lectures/
    Есть еще книжка по материалам этого курса на английском и на русском

  4. Вот на этих ресурсах можно найти кучу бесплатных курсов по программированию и чему угодно еще .
    https://www.coursera.org/
    https://www.edx.org/

  5. Например вот тут есть курс на русском про программирование на питоне
    https://www.coursera.org/learn/python-osnovy-programmirovaniya

  6. Вот эти два курса более классные уже про структуры данных и алгоритмы
    https://www.coursera.org/learn/algorithms-part1
    https://www.coursera.org/learn/algorithms-part2
    И еще один
    https://www.coursera.org/specializations/algorithms

  7. Вот здесь можно интерактивно изучить азы какого-нибудь языка программирования
    https://www.codecademy.com/
    https://www.freecodecamp.org/learn
    Например PHP
    https://www.codecademy.com/learn/learn-php
    Например JS
    https://www.codecademy.com/learn/introduction-to-javascript
    https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/basic-javascript/

  8. Или вот здесь попрограммировать алгоритмы
    http://algolist.ru
    https://www.hackerrank.com
    http://codeforces.com/
    https://leetcode.com/problemset/all/

И помните(!) про кривую забывания И то, как её можно сгладить

Задания

Задание 1: c авторизацией, пользователями, группами, правами

Описание в репозитории
https://github.com/kkocherov/js-assignment

Задание 2: сверстать статичный сайт

Сверстать сайтик из двух-трех страничек с навигацией и формочкой, которую можно заполнить и что-то случится на странице. С каким то текстовым наполнением. Плюсом будет если сможете отобразить на странице какую-нибудь коллекцию, в которую можно что-нибудь добавить, убрать.

Выберите любую интересующую вас тематику. Или что-нибудь веселое и нелепое. С простой версткой как вы помните было в 2000х годах

Результат залить на гитхаб и включить в нем GitHub Pages, скинуть мне ссылки.

Задание 3: разработать сайт с динамичным пользовательским контентом

Сделать сайт с версткой и бэкендом на любую желаемую тематику. На веб ресурсе должна быть возможность зарегистрироваться, авторизоваться, управлять коллекцией каких-нибудь сущностей.

Создать сайт со страницами:

  1. Страница с фомрой авторизации
    Здесь пользователь может ввести свой логин/пароль чтобы авторизоваться и попасть на главную страницу сайта
  2. Страница с формой регистрации
    Здесь пользователь может ввести свой логин и пароль, чтобы зарегистрироваться в системе
  3. Страница с профилем пользователя
    Здесь пользователь может изменить любую информацию о себе и загрузить себе аватарку
  4. Страница с коллекцией сущностей
    На которой отображается несколько чего-то с пагинацией, что можно отредактировать, удалить, создать новое, посмотреть поближе-поподробнее на отдельных страничках или здесь же.

Например:

  1. Интеренет магазин со списом товаров
  2. Сайт, на котором пользователи публикуют свои статьи
  3. Сайт, на котором можно публиковать медиа: видео, музыку, документы

Итоговый проект

Успешность прохождения курса будет оцениваться главным образом как результат защиты итогового проекта.

Вам предстоит реализовать веб-ресурс на любую желаемую тематику. Главное, соблюсти следующие требования:

Требования к итоговому проекту:

  1. рабочий веб ресурс, доступный по ссылке в интернете;
  2. 7-12 различных страниц;
  3. понятный бизнес процесс:
    кто, когда, при каких условиях, при помощи каких ресурсов, что и зачем будет делать на вашем ресурсе;
  4. пользователи могут выполнять CRUD операции как минимум с 3 различными сущностями;
  5. на ресурсе представлено как минимум два типа пользователей с различными правами и возможностями;
  6. страничка с анатилической информацией;
  7. регистрация и авторизация пользователей;

Функциональные и технические требования:

  1. ссылка на репозиторий с понятным, хорошо структурированным кодом;
  2. не позволяйте пользователю вводить некорректные значения в текстовые поля сущностей.
    Проверяйте входные данные.
  3. уведомляйте пользователя о совершаемых им ошибках или о совершении запрещенных в рамках процесса действиях.
    Приложение не должно молча без объяснения причины падать с 500;
  4. запрещено удаление сущностей, которое приведет к нарушению ограничений связей на уровне БД;
  5. при удалении любых сущностей необходимо либо спрашивать подтверждение пользователя, либо реализовать возможность отмены операции удаления.

Защита проекта представляет из себя короткую презентацию (минут 5-10) готового рабочего сервиса, а не кода. Проект можно делать на пару с коллегой или другом. Можно использовать любые языки, технологии, фреймворки, библиотеки. Интеграция с внешними сервисами приветствуется.

Аналитика на на сайте может быть представлена двумя-тремя графиками. Например: количество посещений сайта, самые популярные товары, самые обсуждаемые посты, самые активные пользователи.

Регистрация может происходть как самостоятельно пользователем. Либо по инициативе (приглашению) уже существуюещго пользователя в системе.

Перед началом разработки тему и идею итогового проекта нужно предварительно согласовать.

Пример:

Описание итогового проекта

Если понравился, можно его и реализовать)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published