Подключите нашего Telegram-бота для уведомлений о новых проектах

Заказ закрыт
Создать приложение облачного хранилища загрузить его на гитхаб и развернуть на рег.ру

Разместить заказ
s
Заказчик
Отзывы фрилансеров: + 0 - 0
Зарегистрирован на сайте 1 год и 3 месяца
Бюджет: 200 — 500 ₽/час
Цель  проекта – разработать веб-приложение, которое будет работать как облачное хранилище. Приложение позволит пользователям отображать, загружать, отправлять, скачивать и переименовывать файлы.
Создать комплексное веб-приложение, включающее в себя:
бэкенд на языке Python с использованием фреймворка Django и СУБД PostgreSQL
фронтенд на языках JavaScript, HTML, CSS с использованием библиотек React, Redux, React Router.
Развернуть созданное веб-приложение на платформе reg.ru.

Инструкция к работе над проектом
Пользовательский интерфейс (фронтенд)
Вам необходимо разработать приложение, состоящее из следующих основных блоков пользовательского интерфейса:

1. Основная страница приложения.

Основная страница должна содержать:

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

-логин только из латинских букв и цифр, первая буква, длина от 4 до 20 символов
-e-mail должен соответствовать формату для адресов электронной почты (для проверки можно использовать регулярные выражения)
-пароль должен содержать не менее 6 символов, включающий как минимум одну заглавную букву, одну цифру и один специальный символ.
При несоответствии требованиям должны отображаться соответствующие информативные сообщения в форме с возможностью исправления и повторной отправки на сервер.

-кнопку или ссылку для перехода на форму аутентификации с вводом и проверкой логина на наличие в БД и правильности пароля. Результат неуспешной проверки должен отображаться в форме с возможностью повторной отправки на сервер. При успешной аутентификации должен осуществляться переход на страницу в зависимости от прав пользователя в системе.

2. Административный интерфейс системы для настройки её параметров и управления пользователями и их файловыми хранилищами.

Вход в эту часть приложения доступен только пользователям, имеющим признак «администратор» в списке пользователей:

список пользователей с выводом признака «администратор» и информации, введённой пользователем в форме регистрации (кроме пароля). В списке должна быть возможность удаления пользователей и изменения значения признака «администратор»;
в списке пользователей должна также отображаться информация об их файловых хранилищах – количество и размер файлов, ссылка для перехода к интерфейсу управления файлами в хранилище.

3. Интерфейс управления файловым хранилищем.

Вход в интерфейс доступен для любых пользователей. При этом администратор должен иметь право управления хранилищами любых пользователей, включая своё собственное. Обычные пользователи должны иметь доступ только к своему хранилищу:

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

должна быть максимально использована концепция SPA (single page application), т.е. весь переменный контент на странице (списки пользователей и файлов и т.п.) должен формироваться кодом на JavaScript с использованием библиотеки React. Для получения данных должны использоваться асинхронные api-вызовы к серверу приложения;
все страницы приложения должны содержать навигационное меню, формируемое в зависимости от состояния аутентификации пользователя (кнопки «Вход», «Выход» и «Регистрация»)
время, отводимое на дипломную работу, не предполагает существенных усилий по оформлению приложения с использованием графики, внешних библиотек элементов и т.п. Однако интерфейс приложения должен быть логичным и интуитивно понятным пользователю, имеющему опыт работы с аналогичными веб-приложениями.

Серверная часть приложения (бэкенд) должна соответствовать следующим требованиям:
Реализация на Python с использованием фреймворка Django и использованием для хранения информации СУБД Postgres.

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

Загрузка статических ресурсов, таких как HTML, CSS, JS файлов фронтенда, а также api-вызовы, должны обрабатываться единым сервером.

В проекте должны быть созданы все миграции, необходимые для инициализации БД в работоспособное состояние – создание БД, таблиц, пользователя admin с правами администратора.

Все API-вызовы должны соответствовать семантическим правилам для REST API, для обмена данными между фронтендом и бэкендом используется формат JSON.
Разделы:
Опубликован:
06.03.2024 | 12:35 [поднят: 06.03.2024 | 12:35]
Заказ находится в архиве
Откликнуться Посмотреть другие заказы

Теги: нужен программист, резюме программиста, требуется программист, резюме веб программиста

Наши партнеры
Сведения об ООО «Ваан» внесены в реестр аккредитованных организаций, осуществляющих деятельность в области информационных технологий. ООО «Ваан» осуществляет деятельность, связанную с использованием информационных технологий, по разработке компьютерного программного обеспечения, предоставлению доступа к программе для ЭВМ и является правообладателем программы для ЭВМ «Платформа FL.ru (версия 2.0)».