Skip to content

egorklimov/stepik-web-course

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Техническое задание

Дальнейшие linux-задания представляют собой последовательное создание web-проекта. Для упрощения задачи ниже приведено техническое задание описывающее проект целиком.

Назначение

Проект представляет собой сервис ответов на вопросы. Пользователь сервиса имеет возможность зарегистрироваться, задать вопрос, ответить на вопросы других пользователей. Так же пользователь может отметить вопросы с помощь кнопки "лайк", изменяя их рейтинг. В качестве прототипа образца можно использовать http://stackoverflow.com/

Основные сущности проекта

  1. Пользователь - email, имя, пароль, аватарка
  2. Вопрос - заголовок, текст, автор, рейтинг вопроса
  3. Ответ - текст, вопрос, автор, флаг "правильности"
  4. Лайк - вопрос, пользователь

Формы и страницы проекта

Главная страница

  • URL: /
  • Назначение: представляет из себя список "популярных" вопросов. В списке выводятся вопросы за последнюю неделю в порядке убывания рейтинга.

Список новых вопросов

  • URL: /new/
  • Назначение: список вопросов по дате их добавления начиная с самого свежего.

Страница одного вопроса

  • URL: /question/123/
  • Назначение: на этой странице можно прочитать текст вопрос и список ответов к нему. Авторизованные пользователи могут добавить свой ответ.

Страница регистрации

  • URL: /signup/
  • Назначение: пользователь может ввести свой email, пароль, имя, выбрать аватарку и зарегистрироваться в проекте

Страница авторизации

  • URL: /login/
  • Назначение: пользователь может ввести email и пароль и авторизоваться (войти) в проекте.

Страница добавления вопроса

  • URL: /ask/
  • Назначение: авторизованный пользователь может задать вопрос, после чего перейдет на страницу этого вопроса.

AJAX запросы

  • URL: /like/123/
  • Назначение: пользователь может нажать кнопку "Лайк" у вопроса и это увеличит рейтинг вопроса. Пользователь может ставить "лайк" не более 1 раза для 1 вопроса.