javax_slr (javax_slr) wrote,
javax_slr
javax_slr

Category:

Как я писал сайт.

Хочу поделиться опытом как я писал сайт.

Сначала исходные данные - у меня в основном опыт на сервер сайд - Java и Scala, последний год немного приходитсдя писать на Python, получил в наследство поддерживать систему на Django. Небольшой опыт HTML, jQuery, первый Angular. Но совсем не большой. Т.е. что то могу делать гугля каждую деталь.
Захотел сделать простейший сайт - человек с кем то спорит, описывает спор на сайте - тема, пояснения, дата, мейл того, с кем спорит и мейл судьи.
Судья и оппонент подтверждают участие, потом, когда дата подходит судья решает кто выиграл спор.
Всё. Никакой возни с деньгами или что то такое - если спор на деньги, люди это сами описывают в пояснениях.

Сначала долго думал на чем делать. Важной и сложной частью казался логин. Надо делать через соцсети, гугл или что то такое. Сначала думал делать на Grails, благо Groovy я знаю, но вскоре выяснил, что Grails вообще, и плагин для логин через соц сети в частности,выглядят совсем заброшенными. Решил делать на Django, который все равно надо выучить для работы.
Вообще сначала я сделал proof of concept логина (для начала это было через GitHub) и только после этого реально начал что то писать, сделал проект (на том же GitHub) и т.д.


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

Интересно, что когда мне надо было вводить дату, я искал разные виджеты для Django, даже клонировал какой то репозиторий, исправлял его - но все работало через жопу. В итоге за 1 минуты прикрутил DateChooser из jQuery и всё.
Точно также потом список споров сделал на REST + jQuery, вместо встроеного джанговского view, но это было уже потом, когда почти всё было готово и я перестал бояться.

Совсем не очевидным оказалось какие страницы будут на сайте, заняло время представить себе как это вообще будет выглядеть.
Вообще всё связанной с UI оказалось сложным. Что должно быть на странице? Как это всё расположить? Как реализовать то, что я придумал в плане Layout?
Цветовая гамма - для меня вообще ужас. какие цвета делать? Какие шрифты?

Важно было как можно раньше определить MVP - minimal value product. Что включать в первую версию, которую выкачу на публику, а что нет.

Если пишешь один, то еще и постоянно падает мотивация. Очень помог Лев, который подключилса на каком то этапе, писал код, тестировал, обсуждал со мной - его помощь была намного больше, чем объем написанного им кода - без него я бы вряд ли вообще все довел бы до конца.
В UI также помогла Вита, однокурсница еще по ХГУ. Придумала дизайн, реализовала его в CSS, сделал цвет, шрифты.
Потом я сам выучил CSS Grid и всё переделал под него, но без Виты я бы просто не дошел бы до этого этапа.
Тексты мейлов и FAQ на сайте помог составить сын, Ярон.


Потом выяснилось, что я не подумал про то, как сайт выглядит на телефоне. Я вообще мало сайтов посещаю с телефона и про это не думал. Долго исправлял это.

Последнюю неделю, когда всё уже вроде было готово, все время находил мелкие ошибки в логике и дизайне.

Вообщем полезный опыт. Надеюсь, что в следующий раз, когда соберусь писать сайт, будет проще :)
Tags: programming
Subscribe

  • Грузия 2021. Оглавление

    Глава 1: Идея поездки, логистика, общие выводы Глава 2: Тбилиси Глава 3: Вино Глава 4: Кахетия, Юг Глава 5: Кахетия, Вашлованский заповедник…

  • Грузия 2021. В поисках затерянного города.

    У нас после поездки в Кахетию была запланирована еще одна поездка с Кобой - без ночевки, на юго запад от Тбилиси. Лена и Лена решили, что устали от…

  • Грузия 2021. Кахетия, Вашлованский заповедник

    На ферме живут 5-6 достаточно крупных собак. Вечером видя нас они не проявляли никакого интереса. Утром, выйдя погулять Лена наткнулась на рычавших и…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 6 comments