Привет, сообщество!

вступление

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

У меня мало опыта в создании и развертывании полнофункциональных приложений. Мои знания в основном связаны с бэкэндом.
Небольшой отказ от ответственности, я не знаю, что делаю :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.

С этого момента он будет в основном обновлять и внедрять функции.

Спасибо за чтение этого блога.