Программировать начал около полугода назад, а за веб взялся после НГ. Изучал и изучаю Джанго и JS. Прочитал Django Unleashed, прочитал часть учебника JS Кантора, собирался начать углубляться в тему, как вдруг откуда ни возьмись на меня упал знакомый с просьбой написать ему сайт. Сайт кафешки с возможность заказа на дом, ну то есть с корзиной, регистрацией и тп. Я понимал, что у меня нет достаточных знаний, для того чтобы всё это реализовать (я тогда понятия не имел, что такое ajax, как делать корзину и много чего еще). К тому же дизайна у него не было, соответственно, на мне был еще и дизайн (я вообще говоря не дизайнер, хотя небольшие навыки в ФШ имеются). Короче надо было отказаться, но я решил, что, черт возьми, это будет очень полезно - начать делать что-то не по силам, чтобы в процессе обрасти мускулами. Поэтому я согласился. Времени было мало, поэтому я быстро-быстро начал собирать необходимый минимум знаний, которые бы позволили мне сделать всё, что нужно (ключевое тут - 'необходимый минумум').
Суть в чем? Прямо сейчас я имею почти готовый сайт. Тут и функционал весь необходимый (корзина, регистрация, профили, интерфейс для персонала, всплывающие уведомления о новых заказах, как сообщения в Вк, статистика по выручке и спросу на блюда с графиками), и дизайн ему по нраву - короче сделал всё, что хотел знакомый и даже больше. И я вроде везде, где могут быть ошибки, сделал обработку, чтобы сайт не падал (и в Джанго-коде, и в JS). НО!!! Как я сказал, этот заказ упал на меня нежданно-негаданно, как раз в тот момент, когда я, во-первых, собирался наконец поставить Линукс и начать разбираться в нем (всю жизнь на Винде), во-вторых, когда я собирался начать изучать Test Driven Development with Python и, в-третьих, когда я хотел начать углубляться в JS (когда он ко мне обратился я изучил только основы, даже до DOM не дошел). И еще я собирался нормальные знания верстки приобрести. Это я к чему? К тому, что, черт возьми, я собирался начать изучать очень важные вещи, без знания которых сайты как бы не пишут :)
Так как были сроки, то, соответственно, я не успел ни в jQuery разобраться (даже начать не успел), ни в тестировании, ни в еще куче разных полезных вещей. Весь JS написанный для проекта - написан просто с использованием некоторых в срочном порядке приобретенных знаний DOM-модели + XMLHttpRequest, то есть никаких фреймворков. Это выглядит примерно так: отправить ajax-запрос, обработать ответ, создать элементы с данными из ответа, дать им нужные классы, вставить их в документ, и они уже в соответствии с классами приобретут стили.
А на серверной стороне нет ни одного теста.
О безопасности я, как мог, позаботился (создал декораторы для проверки is_staff и is_superuser и обернул ими всё, что нужно; во вьюхах проверяю аякс-запрос пришел или нет; csrf использую; clean-ы для форм). Но, прочитав о том, какие бывают уязвимости на сайте, я не уверен, что не оставил лазеек.
Можно ли такой проект запускать? То есть всё работает отлично, выглядит отлично, но JS тут такой (сырой что ли.. не знаю, как назвать), без тестов и с не самой большой уверенностью в безопасности? Я деплоить не умею и с git не знаком (это всё в планах), поэтому просто скажу ему, чтобы он нашел фрилансера, который задеплоит уже готовый проект.
Поверь моему опыту, даже к крупных компаниях порой работают люди которые знают примерно как ты или даже меньше, и деньги получают и им не стыдно, они даже считают себя профи. Многих знаю, работают по 5 лет и больше работают в программировании и тесты писать не умеют и не собираются изучать. Написал, проект работает, заказчик доволен - все отлично. А тесты писать или там react.js изучить и еще успеешь.
МОжно, даже нужно, заодно и деплоить научишься
если нигде не выключил проверку csrf token, то все норм,
никто не прибежит на новый сайт, чтобы его взломать или еще в таком духе, в общем запускайте,
<ИМХО>
Без тестов луче не надо. Залей его куда нибудь(бесплатный хостинг) и попроси друзей по издеваться над ним. Чтобы вводили бред, отключали проверки js, подменивали запросы(если они это умеют). Там всяко всплывает несколько багов.
Еще будет луче, если попросишь кого то более опытного проверить на дыры. Если ломанут,и стащат адреса, то будет плохо всем. Или на фрил. За небольшой сайт, думаю много не возьмут. Зато от гемора будет меньше.
Сам так же попал в веб. Начал изучать веб, попросили простенький сайт, одностаничник(с приемом заявок(аля лендинг)). Кода было не много, но верстка там была... до сих пор стыдно.
< /ИМХО>
Согласен с большинством ответивших И деплоить нужно самому. И вообще радуйтесь, что у вас появился реальный проект, так опыт накапливается гораздо быстрее. Только имейте ввиду, что вам предстоит еще много чего дорабатывать в этом проекте, так что не расслабляйтесь.
я, к сожалению, не могу доработать, тк просто-напросто не успею. Вообще-то я уже отдал вчера проект. Было бы больше времени, я бы не задавал таких вопросов, а дорабатывал. И деплоил бы сам. Вопрос возник именно потому, что не было времени не то что на доработку, даже просто на изучение теории. Вот вчера отдал проект, наконец-то накатил Убунту и начал изучать TDD.
я имел ввиду, дорабатывать после того, как запустите проект, потому что при реальном использовании, скорее всего, обнаружится куча недоработок. а разворачивать все-таки стоило попробовать самому, для опыта. гораздо лучше это делать на реальных задачах, а не чисто академических, которые вы можете себе выдумать.