Всем добрый день!
Потихоньку оттачиваю свои навыки и решил написать простенький todolist но со всеми элементами настоящего веб-приложения чтобы понять что к чему, какие элементы должны присутствовать, и собственно провернуть полный цикл разработки.
Frontend - React, Backend - .Net Core (шаблон в Visual Studio), DB - Postgres
И так, вопросы:
1)Аутентификация/авторизация. Приложение у меня многопользовательское, значит нужна аутентификация/авторизация. Реализовал с помощью JWT. Запрос, если не авторизован redirect на логин, после логина с бэкенда высылаем jwt, приклеиваем его в sessionStorage, дальше по нему ходим к API. В общем что то в таком духе. Достаточно ли этого для подобного приложения, делают ли что то еще?
2)fetch запросы при каждом изменении. Записи пользователя должны изменяться, и подтягиваться в свежем виде, так? Я сделал следующее, при каждом изменении отсылаем id записи на сервер, меняем ее, по успешному ответу обновляем state и происходит render. Вопрос, правильный ли это подход? Пока я один выглядит здорово и то вызывает сомнения а не будет ли сильной нагрузкой постоянные нажатия на чекбокс? А что будет если приложением будет пользоваться множество людей? А что если сущность моей записи станет жирной например как в todoist добавиться календарь, заметки, подзадачи, комментарии, общий доступ и т.д. все это при изменении фигачить fetch запросом? или есть более адекватные решения? В общем этот момент тоже хотелось бы прояснить.
3)Идентифицируем пользователя по jwt. Когда получаю запрос, я достаю из jwt id пользователя и работаю с его данными, вроде это делается так, просто для уточнения)
4)React при ошибке белый экран. Это больше вопрос для тех кто пользовался шаблоном из VS о котором писал выше, думаю дело в нем. Все же я скачал все возможные npm пакеты которые в теории должны отображать ошибку, но так и не получилось это настроить.
Приложение маленькое по этому особо нечего больше спросить, если я что то упустил, или вам есть что добавить, буду рад выслушать и почитать комментарии, заранее спасибо!
Дополнительно:
Содержание
Ответы:
2. Читаем, что такое WebAPI. Ему есть альтернативы, например gRPC, GraphQL.
скажу наперед, добавятся данные к заметке, не обязательно на сервер слать заметку и все сущности связанные с ней, отсылаем только изменения.
1,3 просто забудьте https://docs.duendesoftware.com/identityserver/v6/...
Используйте готовое решение
Хотя лучше вот это https://docs.duendesoftware.com/identityserver/v6/...
А потом подтянуть до предыдущего совета.
И да все можно сделать в 1 приложении
4. реакт ругается как в консоль так и в браузер, а когда белый экран откройте f12 и все там будет
2. Ничего не мешает вам сравнить то что пришло и то что есть и послать дельту.
Например пришло 700кб Вы в конец добавили 100 символов. По итогу вы вызываете что то типа
|
1 |
const data = { text: 'append text' }; fetch('https://example.com/post/42/append', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(data), }) .then((response) => response.json()) .then((data) => { console.log('Success:', data); }) .catch((error) => { console.error('Error:', error); }); |
Для решения данной проблемы вы можете воспользоваться услугами фрилансеров. Мы выполним необходимую работу быстро и качественно.
Оставить комментарий Отменить
Ответы
- Есть ответ! к записи Как уменьшить масштаб меньше 100% в Windows 10 (22H2)
- Есть ответ! к записи Аналоги CloudFlare в России?
- Есть ответ! к записи Аналоги CloudFlare в России?
- Есть ответ! к записи Как называется человек, который дизайн придумает для сайта и сверстает его?
- Есть ответ! к записи Можно ли установить Яндекс.Диск на АльтЛинукс?
- Есть ответ! к записи Картинки мутные только на сафари, есть выход?
- Есть ответ! к записи Keenetic. Как настроить SSTP клиент с сертификатом?
- Есть ответ! к записи Чем заменить executor в aiogram 3?
Для разработки todolist (списка задач) можно использовать различные подходы и технологии, в зависимости от ваших потребностей и предпочтений. Вот несколько шагов, которые можно выполнить для создания эффективного todolist:
1. Определите функциональные требования: Прежде всего, определите, какие функции должен иметь ваш todolist. Например, вы можете хотеть добавлять, удалять, отмечать выполненными задачи, устанавливать приоритеты, устанавливать сроки выполнения и т.д.
2. Разработайте базу данных: Создайте структуру базы данных для хранения задач. Вы можете использовать SQL базу данных или NoSQL базу данных в зависимости от объема данных и требований к производительности.
3. Напишите бэкенд: Реализуйте API для взаимодействия с базой данных и обработки запросов от фронтенда. В качестве примера, я могу предложить использовать PHP для написания бэкенда. Ниже приведен пример кода на PHP для создания новой задачи в todolist:
4. Создайте фронтенд: Разработайте интерфейс пользователя для взаимодействия с todolist. Используйте HTML, CSS и JavaScript для создания дружественного и интуитивно понятного интерфейса.
5. Реализуйте функционал: Добавьте функционал для добавления, удаления, отметки выполнения задач, установки приоритетов, фильтрации по срокам выполнения и т.д.
6. Протестируйте приложение: Проверьте все функции todolist на работоспособность и корректность работы. Исправьте все обнаруженные ошибки.
7. Запустите приложение: Разверните ваш todolist на сервере и позвольте пользователям пользоваться им.
Это лишь общий план действий, и в зависимости от конкретных требований проекта и ваших навыков программирования, вы можете внести изменения в реализацию todolist. Надеюсь, что эти шаги помогут вам разработать эффективный todolist для управления задачами.
Разработка todolist - это одна из самых популярных практик в мире программирования. Todolist представляет собой список задач, которые нужно выполнить в определенный период времени. Это может быть как личный план дел на день, так и проектный план на неделю или месяц. Todolist помогает организовать свою работу, не забывать о важных задачах и достигать поставленных целей.
Существует множество способов разработать todolist, но я расскажу о некоторых из них, которые могут помочь вам создать эффективный и удобный инструмент для планирования и управления задачами.
1. Определите цель и аудиторию
Прежде чем приступать к разработке todolist, определитесь с целью его создания и целевой аудиторией. Если это будет личный todolist, то определите, какие задачи вы хотите в него включить, какие функции будут вам полезны. Если это будет проектный todolist для команды, обсудите с коллегами, какие функции им будут удобны, какие задачи нужно включить.
2. Определите функциональные требования
На основе цели и аудитории todolist определите функциональные требования. Какие функции должны быть доступны в todolist? Например, добавление задач, установка сроков, приоритетов, категорий, возможность отмечать выполненные задачи, уведомления о приближающихся сроках и др.
3. Выберите подход к разработке
Существует множество подходов к разработке todolist. Вы можете создать todolist в виде веб-приложения, мобильного приложения, десктопного приложения или даже использовать готовые решения, такие как Google Keep, Trello, Todoist и др. Выберите подход, который наилучшим образом соответствует вашим потребностям.
4. Разработайте дизайн и интерфейс
Дизайн и интерфейс todolist играют важную роль в удобстве использования. Создайте простой и интуитивно понятный дизайн, который позволит пользователям легко добавлять, редактировать и управлять задачами. Обратите внимание на цветовую гамму, шрифты, расположение элементов на экране.
5. Разработайте функционал
На этом этапе вам нужно реализовать все функции, которые были определены в функциональных требованиях. Разработайте возможность добавления задач, установки сроков, приоритетов, категорий, отметки выполненных задач, уведомлений и других необходимых функций.
6. Протестируйте и отладьте
После разработки todolist не забудьте провести тестирование и отладку. Убедитесь, что все функции работают корректно, что нет ошибок и сбоев. Протестируйте todolist на разных устройствах и в разных браузерах, чтобы убедиться, что он корректно отображается и работает.
7. Внедрите и сопровождайте
После успешного тестирования внедрите todolist и предоставьте доступ пользователям. Обеспечьте поддержку и обновления, чтобы улучшать и совершенствовать функционал todolist в соответствии с потребностями пользователей.
В итоге, разработка todolist - это интересный и полезный процесс, который поможет вам организовать свою работу, управлять задачами и достигать целей. Следуйте вышеописанным шагам, учитывайте потребности пользователей и создайте удобный и эффективный инструмент для планирования и управления задачами.