Изучаем ASP .NET MVC: пишем свой хабрахабр с инвайтами и кармой. Часть 1

в 11:02, , рубрики: .net, ASP, метки: ,

Приветствую уважаемые читатели!

Я давно хотел собрать воедино всю информацию, найденную мною по этому фреймворку в сети по частям и выделить в серию уроков-заметок. И вот с появлением свободного времени, занялся этим делом. Для большей наглядности хотелось бы выбрать интересную задачу для решения, и вот немного поразмыслив, решил написать свой хабрахабр, чем с вами и поделюсь.

0. Вступление

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

1. Планируем

Итак, определим вообще необходимо:

  • Блог
  • Пользователи
  • Рейтинговая система

Теперь немного подробнее по каждому пункту:

  • Блог:
    • Постинг. Сюда отнесем пользовательские инструменты для создания/редактирования записей.
    • Категории. В каждой категории имеются подкатегории, так называемые хабы. Добавляться/редактироваться/удаляться могут только пользователями с административными привилегиями.
    • Комментирование.
    • Теги. Каждая запись может иметь некоторое количество тегов, задаваемые пользователем, есть возможность как выбирать из уже существующих, так и создавать новые.

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

  • Рейтинговая система:
    • Рейтинг пользователя – составляется путем голосования за посты/комментарии пользователя.
    • Карма – некое число, влияемое на возможности постинга пользователя, увеличить/уменьшить можно зайдя в профиль пользователя.

2. Подготавливаем инструменты

Писать мы будем в Visual Studio 2010. По умолчанию вместе с ней идет MVC фреймворк 2 версии. Для обновления до 3 версии идем сюда: www.asp.net/mvc/mvc3 и следуем простым инструкциям по установке. После обновления в диалоге создания проектов VS должны добавиться новые пункты:

Изучаем ASP .NET MVC: пишем свой хабрахабр с инвайтами и кармой. Часть 1

Создадим наш первый проект(ASP.NET MVC 3 Web Application — готовое приложение с минимальным функционалом):

Изучаем ASP .NET MVC: пишем свой хабрахабр с инвайтами и кармой. Часть 1

В данном диалоге VS нам предлагает выбрать следующие настройки:

  • Шаблон приложения, которое будет создано: пустое либо уже с созданными несколькими контроллерами, и реализаций авторизации пользователей. Разница между вторым и третьим типом заключается именно в способе реализации этого модуля.
  • Выбор движка. Здесь два варианта: новый Razor или старый ASP движок. Выбираем Razor.
  • Создание юнит-тестов. Оставим это на потом.

После нажатия кнопки «ОК» VS создаст заданный проект. Запустим его с помощью клавиш Ctrl+F5. Наш проект должен собраться, запуститься локальный веб-сервер и откроется браузер с нашим сайтом. Но что бы было все по взрослому, добавим наш проект в IIS. Для запуска проектов сделанных на MVC 3 тоже немного придется поплясать с бубном. И так, если у нас не установлен еще ISS, открываем «Включение или отключение компонентов Windows», находим пункт «Службы IIS» и ставим галочку. После установки IIS’a зайдем на localhost и убедимся что сервер запустился и работает:

Изучаем ASP .NET MVC: пишем свой хабрахабр с инвайтами и кармой. Часть 1

Теперь зарегистрируем IIS для ASP .NET, вызвав консоль с правами администратора и выполнив там следующую команду:

  • %windir%Microsoft.NETFrameworkv4.0.30319aspnet_regiis.exe -i – для 32-х разрядных систем
  • %windir%Microsoft.NETFramework64v4.0.30319aspnet_regiis.exe -i – для 64-х разрядных систем

Открываем диспетчер IIS(Панель управления — Администрирование — Диспетчер служб IIS). Настраиваем пул приложений:

Изучаем ASP .NET MVC: пишем свой хабрахабр с инвайтами и кармой. Часть 1

И добавляем наш проект:

Изучаем ASP .NET MVC: пишем свой хабрахабр с инвайтами и кармой. Часть 1

Теперь наш сайт доступен на localhost’е, чему мы несказанно радуемся.

3. Что дальше?

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

  1. Пользователи
  2. Блоги
  3. Комментирование
  4. Администрирование

4. Полезные ссылки

Дополнительные материалы, которые использовал лично я:

Пожелания по дальнейшим заметкам и замечания по текущей принимаются с радостью.

Автор: vyacheslav_ka

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js