Около месяца назад мы с моей командой приступили к тому, что оказалось одной из самых больших проблем, с которыми мы столкнулись в этом году; создание веб-сайта вакансий с нуля.
Наш веб-сайт призван связать работодателей с квалифицированными соискателями. В нашу команду входили Джозия Мбити, который занимался шаблонами и стилем веб-страниц, Джозеф Туку, который создал приложение для работы, и я, который работал над приложением для пользователей и аутентификацией.

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

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

Перейдем к самой интересной части этой статьи. Итак, как далеко нам удалось продвинуться в плане развития проекта и целей?

На приведенной ниже диаграмме показана базовая структура работы нашего веб-сайта вакансий. Веб-сайт был развернут с использованием веб-сервера, предоставленного ALX Africa совместно со школой Holberton. Мы использовали доменное имя для одного из членов нашей команды.

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

Мы применили разные технологии для разных фаз веб-сайта.

Для серверной части мы решили использовать Django, фреймворк Python, который упрощает создание и управление моделями веб-сайтов и базами данных. Мы создали две основные модели (пользователи и задания) с другими функциями, такими как обмен сообщениями, которые все еще работают. Затем мы написали функции для созданных моделей для подключения базы данных к внешним страницам интерфейса. Для базы данных мы использовали встроенную систему управления базами данных django sqlite3, так как это было простое веб-приложение, которое не требовало хранения множества сложных файлов.

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

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

Что было самым сложным в проекте?

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

Мы не могли сразу понять, в чем проблема, так как все остальное, казалось, работало нормально. Нам пришлось заниматься исследованиями целый день. Оказывается, проблема заключалась в наших пользовательских моделях. Вместо этого мы должны были использовать встроенную систему аутентификации пользователей django. Откуда мы должны были знать, будучи новичками? Во всяком случае, это роль инженера; найти решения проблем.

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

Если бы мне пришлось делать тот же проект сегодня, я не совсем уверен, что применил бы тот же подход. Я бы, наверное, просмотрел всю документацию по Django и подробно изучил другие используемые языки, такие как JavaScript. Помимо этого, я должен признать, что моя способность приспосабливаться к новым и различным концепциям, которые я изучаю ежедневно, была впечатляющей. До проекта я никогда не пользовался Django и мало знал о JavaScript. Мне все же удалось поработать с ними двумя и добиться хороших результатов. В процессе сборки я заметил, что для меня очень важно начать изучать некоторые фреймворки дизайна и стилей, такие как tailwind, vue и bootstrap.

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

Поскольку этот проект находится в стадии разработки, я могу публиковать дальнейшие обновления о результатах и ​​состоянии разработки в будущем.

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

Вот несколько ссылок на важные страницы, которые вы, возможно, захотите проверить:

Гитхаб: https://github.com/FrankieVexx/Jobkonnect

Развернутый проект для сайта вакансий: http://www.mrjt.tech/

Целевая страница проекта: http://www.mrjt.tech/

Страница моего профиля в LinkedIn: https://www.linkedin.com/in/francis-onyach-73190011b/

Моя страница в Твиттере: https://twitter.com/Frankievexx