Привет, сообщество!
вступление
Это мой первый пост о моем бесконечном пути становления настоящим разработчиком. В этом посте я хочу объяснить свой текущий проект и шаги/решения, которые я буду принимать, чтобы довести этот проект до отличного конца.
У меня мало опыта в создании и развертывании полнофункциональных приложений. Мои знания в основном связаны с бэкэндом.
Небольшой отказ от ответственности, я не знаю, что делаю :D.
Итак, приступим к кодированию!
О чем этот проект?
Моя мать занимается некоммерческим бизнесом, где она создала сообщество, где люди могут публиковать свои остатки того дня на странице в Facebook. Это позволяет людям, которые изо всех сил пытаются пережить месяц, забрать эти остатки и сэкономить деньги на реальной еде на рынке.
Это не единственная цель этой инициативы.
Иногда запускаются мероприятия, и люди могут подписаться на эти мероприятия.
Шаг 1: Получите четкое представление о том, что вы собираетесь построить
Для меня было довольно легко записать все на бумаге. Я просто посидел с мамой час, и дело дошло до довольно простого приложения CRUD.
Шаг 2: Какие фреймворки/библиотеки я буду использовать?
Поскольку в настоящее время я профессионально использую .NET и C#, я решил использовать их в качестве своей серверной среды. Я получил NextJS Framework, рекомендованный другом для моего внешнего интерфейса. Несмотря на то, что те небольшие знания, которые у меня есть о фронтенд-фреймворке, связаны с Angular, он заставил меня использовать вместо него этот.
Почему? Я также хотел попробовать React, а так как у меня не так много опыта в Angular, то не будет такой уж большой потери, если я перейду на React.
Одна дилемма, на которой я все еще застрял, — это какой тип базы данных я должен использовать. В настоящее время я храню свой проект в Azure и, вероятно, буду использовать его в качестве базы данных, поскольку у них есть реляционная база данных. У меня есть некоторые знания о базах данных на основе документов, но не в той степени, в которой я чувствую себя комфортно при их использовании.
Допустим, сейчас я выбираю реляционную БД и хочу позже переключить ее на MongoDB или Firebase. Обычно мне нужно было бы изменить МНОГО кода, потому что я изменил тип базы данных.
Что ж, есть исправление того, о чем я раньше не знал: использование луковой архитектуры в бэкенде (видео с очень хорошим пояснением). Я уверен, что есть и другие решения, но мой наставник дал мне одну руку.
Шаг 3: приступаем к дизайну
Здесь я только что сделал простой документ Word (есть гораздо лучшие подходы) и настроил макет моих сущностей.
Я не планировал какие-либо макеты интерфейса, потому что вижу это как дополнение, которое сейчас не так важно.
Шаг 3: Начните программировать
Сначала я хочу, чтобы мой бэкэнд работал в моей ситуации. Вот куда пойдет вся моя логика и куда фронт будет обращаться со своими просьбами.
После того, как я настрою конечные точки, я настрою внешний интерфейс, где я гарантирую, что соединение действительно, и я могу получать данные из моего внутреннего интерфейса в свой внешний интерфейс.
Чтобы иметь данные, я буду использовать простую базу данных кеша с некоторыми фиктивными данными для заполнения этой временной базы данных.
public List<Post> GeneratePosts() { List<Post> posts = new(); posts.Add(new Post ( "Activity one", "Lorem Ipsum is simply dummied text of the printing and typesetting industry. " + "Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, " + "when an unknown printer took a galley of type and scrambled it to make a type specimen book", "Lorem Ipsum is simply dummied text of the printing and typesetting industry.", DateTime.Now.AddDays(-20) )); posts.Add(new Post ( "Activity two", "Lorem Ipsum is simply dummied text of the printing and typesetting industry. " + "Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, " + "when an unknown printer took a galley of type and scrambled it to make a type specimen book", "Lorem Ipsum is simply dummied text of the printing and typesetting industry.", DateTime.Now.AddDays(-20) )); posts.Add(new Post ( "Some other activity", "Lorem Ipsum is simply dummied text of the printing and typesetting industry. " + "Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, " + "when an unknown printer took a galley of type and scrambled it to make a type specimen book", "Lorem Ipsum is simply dummied text of the printing and typesetting industry.", DateTime.Now.AddDays(-20) )); return posts; }
Этот метод будет вызываться при запуске серверного приложения и помещает некоторые фиктивные данные в кеш.
Вот и все, что нужно для запуска полнофункционального приложения с использованием .NET и NextJS.
С этого момента он будет в основном обновлять и внедрять функции.
Спасибо за чтение этого блога.