Блог
Строительство и ремонт
Репетиторы
Красота
Фрилансеры
Разные специалисты
Уход за животными
Тренеры
Автоинструкторы

Разработка на JavaScript — удалённая работа в Москве

Дата: 2024-06-13
Детали
Регион
Москва
Занятость
дистанционно
Стоимость
договорная
Дата публикации
2024-06-13
Описание
решить задачи. решить задачи. 1. Как и было ранее в контрольной 8, показать модальное окно с текстом «На вашу почту выслана ссылка, перейдите по ней, чтобы завершить регистрацию» и кнопкой «ОК». 2.Записать данные о пользователе в объект, а этот объект, в свою очередь, записать в массив clients, который будет храниться в Local Storage. Внимание! Local Storage должен хранить данные обо всех зарегистрированных пользователях в виде объектов в массиве clients. То есть когда на сайте регистрируется второй пользователь, данные о первом не должны удаляться. В случае затруднений рекомендуем обратиться к бонусному уроку, в котором описывалась реализация корзины. 2 страница: Страница входа При нажатии на ссылку «Already have an account?» или на кнопку «ОК» в модальном окне происходит то же самое, что и было ранее - переход на страницу логина. Но в этот раз вам не надо удалять ссылку «Already have an account?», вместо этого нужно заменить на ней текст на «Registration» и заменить слушатель на этой кнопке. Слушатель на кнопке «Sign In» также нужно будет заменить на другой. 1. При нажатии на ссылку «Registration» страница должна просто перезагружаться (таким образом будет имитироваться переход на страницу регистрации, потому что при первой загрузке страницы мы попадаем на страницу регистрации). 2. При нажатии на кнопку «Sign In» нужно проверять, заполнены ли поля Username и Password. Если какое-то поле не заполнено - выводим под ним ошибку и делаем рамку поля красной. Если оба поля заполнены, то нужно брать значения из полей Username и Password и проверять, есть ли пользователь с таким логином в массиве clients в Local Storage. Если пользователь не найден, то рамка поля логина становится красной и под полем выводится текст «Такой пользователь не зарегистрирован». Если пользователь найден, но пароль не совпадает - то красным подчеркивается поле пароля, и под полем появляется ошибка «Неверный пароль». Если пользователь найден в массиве clients и его пароль введен верно - то нужно имитировать переход в личный кабинет. 3 страница: Личный кабинет Чтобы имитировать переход в личный кабинет, нужно: 1. Текст заголовка необходимо заменить на «Welcome, name!», где name - это имя залогиненного пользователя.Внимание: имя - это не username, а то, что пользователь вводил в full name! 2. Текст на кнопке «Sign In» заменить на «Exit» и заменить слушатель на этой кнопке: теперь она должна просто перезагружать страницу, чтобы имитировать выход на страницу регистрации. 3. Все остальные элементы (текст под заголовком, поля Username и Password, ссылку “Registration“) нужно удалить Сделать в JS. Ссылку на диск пришлю.
Похожие заказы
Разработка на JavaScript
дистанционно
договорная
Решение домашнего задания на языке Java с определенными требованиям. Разработка с нуля, тестирование. Шаблон, который прописан в задании вышлю дополнительно.
Москва
Фрилансеры
2025-06-05
Откликнуться
Разработка на Node.js
дистанционно
договорная
Доработка бот. Разработка с нуля. Пожелания и особенности: У меня есть готовый скрипт код игровой бот из вк, вам нужно переписать из вк на телеграмм полностью.
Нижний Новгород
Фрилансеры
2025-06-04
Откликнуться
Разработка на React
дистанционно
договорная
Веб-разработка. Разработка с нуля, Я junior frontend разработчик, ищу ментора-помощника на текущий проект. Необходимо сверстать по макету с использованием mui компонентов. Табы, пагинация, таблицы, гет запросы с сервера. Проект срочный, нужно созвониться сегодня 02.06 вечером по мск.
Санкт-Петербург
Фрилансеры
2025-06-02
Откликнуться
Разработка на JavaScript
дистанционно
договорная
Веб-разработка. Доработка существующего продукта. Есть реализованный рабочий проект - сайт. Необходимо исправить некоторые моменты. За более подробной информацией в личные сообщения.
Москва
Фрилансеры
2025-06-02
Откликнуться
Разработка на Node.js
дистанционно
договорная
Доработка Сайта и его продакшн. Доработка существующего продукта. # Техническое задание: Доработка BS Legal Platform ## 1. Текущее состояние проекта ### 1.1 Реализованные компоненты - Рабочее веб-приложение на React + Node.js - Базовая структура frontend и backend - Работающая база данных MySQL - Базовый функционал Redis - Локальные скрипты запуска (launcher.ps1, launcher.sh) ### 1.2 Существующая инфраструктура - Локальное окружение разработки - Локальные бинарники MySQL и Redis - Базовые конфигурации сервисов ### 1.3 Стек технологий #### Frontend - React 18.2.0 - TypeScript 5.0.4 - Vite 4.3.0 - Material-UI 5.13.0 - Redux Toolkit 2.2.3 - React Router 6.11.0 - Axios 1.4.0 - TailwindCSS 3.3.2 - Framer Motion 10.12.0 - Three.js 0.152.0 - React Hook Form 7.45.0 - Zod 3.25.30 - React Hot Toast 2.4.0 - React Toastify 9.1.3 #### Backend - Node.js >=16.0.0 - Express 4.18.2 - TypeScript 5.3.3 - Prisma 5.10.0 - MySQL 8.0 - Redis 4.6.13 - JWT - Winston 3.11.0 - Morgan 1.10.0 - Helmet 7.0.0 - Express Rate Limit 7.1.0 - Express Validator 7.0.1 - Swagger/OpenAPI 6.2.1 #### Инфраструктура - Docker 24.0.0 - Docker Compose 2.20.0 - Git 2.40.0 - npm 9.6.0 - PowerShell 7.3.0 - Bash 5.2.0 ### 1.4 Структура проекта ``` bs-legal-platform/ ├── client/ # Frontend приложение │ ├── src/ │ │ ├── components/ # React компоненты │ │ ├── pages/ # Страницы приложения │ │ ├── store/ # Redux store │ │ ├── hooks/ # React hooks │ │ ├── utils/ # Утилиты │ │ ├── types/ # TypeScript типы │ │ ├── assets/ # Статические файлы │ │ └── styles/ # Стили │ ├── public/ # Публичные файлы │ └── package.json # Зависимости frontend │ ├── server/ # Backend приложение │ ├── src/ │ │ ├── controllers/ # Контроллеры │ │ ├── models/ # Модели данных │ │ ├── routes/ # Маршруты API │ │ ├── middleware/ # Middleware │ │ ├── utils/ # Утилиты │ │ ├── config/ # Конфигурации │ │ └── types/ # TypeScript типы │ └── package.json # Зависимости backend │ ├── deploy/ # Файлы для деплоя │ ├── mysql/ # MySQL бинарники и конфиги │ │ ├── bin/ │ │ ├── data/ │ │ └── my.ini │ ├── redis/ # Redis бинарники и конфиги │ │ ├── redis-server.exe │ │ └── redis.conf │ └── scripts/ # Скрипты для деплоя │ ├── docs/ # Документация │ ├── api/ # API документация │ ├── setup/ # Инструкции по установке │ └── architecture/ # Архитектура системы │ ├── scripts/ # Скрипты запуска │ ├── launcher.ps1 # PowerShell скрипт для Windows │ └── launcher.sh # Bash скрипт для Linux │ └── README.md # Основная документация ``` ### 1.5 Инструкции по запуску #### Windows (PowerShell) 1. Убедитесь, что установлены: - Node.js >=16.0.0 - PowerShell 7.3.0 - MySQL 8.0 (локальный) - Redis 4.6.13 (локальный) 2. Запустите PowerShell от администратора и выполните: ```powershell .\scripts\launcher.ps1 ``` Скрипт автоматически: - Проверит наличие всех зависимостей - Создаст необходимые директории - Установит npm-пакеты - Запустит MySQL и Redis - Запустит backend и frontend #### Linux (Bash) 1. Убедитесь, что установлены: - Node.js >=16.0.0 - MySQL 8.0 - Redis 4.6.13 2. Выполните в терминале: ```bash chmod +x scripts/launcher.sh ./scripts/launcher.sh ``` #### Ручной запуск 1. Запустите MySQL: ```bash cd deploy/mysql ./bin/mysqld --defaults-file=my.ini ``` 2. Запустите Redis: ```bash cd deploy/redis ./redis-server redis.conf ``` 3. Запустите backend: ```bash cd server npm install npm run dev ``` 4. Запустите frontend: ```bash cd client npm install npm run dev ``` #### Проверка работоспособности 1. Frontend доступен по адресу: http://localhost:3000 2. Backend API доступен по адресу: http://localhost:4000 3. Swagger документация: http://localhost:4000/api-docs 4. MySQL доступен на порту: 3306 5. Redis доступен на порту: 6379 ## 2. Требуемые доработки ### 2.1 Контейнеризация - [ ] Создание Dockerfile для frontend - [ ] Создание Dockerfile для backend - [ ] Настройка docker-compose.yml - [ ] Перенос конфигураций в контейнеры - [ ] Настройка volume для данных ### 2.2 Оптимизация - [ ] Настройка кэширования в Redis - [ ] Оптимизация запросов к БД - [ ] Настройка индексов - [ ] Оптимизация статических файлов ### 2.3 Безопасность - [ ] Настройка переменных окружения - [ ] Конфигурация CORS - [ ] Настройка rate limiting - [ ] Проверка безопасности endpoints ### 2.4 Мониторинг - [ ] Настройка логирования - [ ] Конфигурация алертов - [ ] Настройка метрик - [ ] Создание дашбордов ### 2.5 Документация - [ ] Описание архитектуры - [ ] Инструкции по развертыванию - [ ] API документация - [ ] Руководство по поддержке ## 3. Критерии приемки ### 3.1 Функциональность - [ ] Все сервисы запускаются в контейнерах - [ ] Данные сохраняются в volume - [ ] Кэширование работает - [ ] Бэкапы настроены ### 3.2 Производительность - [ ] Время отклика API < 200ms - [ ] Кэш hit ratio > 80% - [ ] CPU usage < 70% - [ ] Memory usage < 80% ### 3.3 Безопасность - [ ] Все секреты в переменных окружения - [ ] CORS настроен - [ ] Rate limiting работает - [ ] Нет уязвимостей в зависимостях ### 3.4 Мониторинг - [ ] Логи доступны - [ ] Алерты работают - [ ] Метрики собираются - [ ] Дашборды доступны ## 4. Документация ### 4.1 Техническая - [ ] Архитектура системы - [ ] Схема базы данных - [ ] API endpoints - [ ] Конфигурация сервисов ### 4.2 Операционная - [ ] Инструкции по развертыванию - [ ] Процедуры бэкапа - [ ] Мониторинг и алерты - [ ] Troubleshooting guide ## 5. Передача проекта ### 5.1 Документация - [ ] Все конфигурации - [ ] Схемы развертывания - [ ] Процедуры поддержки - [ ] Контакты для поддержки ### 5.2 Обучение - [ ] Демонстрация работы - [ ] Объяснение архитектуры - [ ] Процедуры обновления - [ ] Процедуры восстановления ## 6. Заключение Данное техническое задание описывает необходимые доработки для BS Legal Platform. Проект уже имеет работающую базовую версию, требуется его оптимизация и подготовка к промышленной эксплуатации. Все изменения должны быть документированы, а код должен соответствовать современным стандартам разработки. После завершения работ исполнитель должен обеспечить передачу знаний команде заказчика и предоставить все необходимые инструкции по поддержке и развитию системы. (подготовленный проект может быть с рядом ошибок, недочетов и прочего в связи с тем, что разрабатывался обывателем в сфере разработки сайтов, но довольно много было реализовано уже). Нужно будет разместить сайт на хостинге рег.ру, разобраться как там все сделать (так как не известно vps это или нет и тд) то есть полный продакшн и реализация проекта на хостинге рег.ру, подключением бд и тд.
Москва
Фрилансеры
2025-06-01
Откликнуться
Разработка на React
дистанционно
договорная
Веб-разработка. Доработка существующего продукта. Мы — стартап ранней стадии Мигрировали на Next проект из другого проекта (React, 2 идентичных проекта), упёрлись с frontend частью Нужно дособрать frontend Текущая версия нового проекта https://place-of-power-ru-test.netlify.app/ Старый проект, на который ориентируемся https://prismatic-gaufre-034282.netlify.app/.
Москва
Фрилансеры
2025-05-31
Откликнуться
Разработка на React
дистанционно
договорная
Веб-разработка. Доработка существующего продукта. Пожелания и особенности: Есть веб-сайт с полностью реализованным бэкендом и логикой фронтенда. Появился дизайн в фигме, нужно переверстать фронтенд под дизайн. На сайте есть следующие страницы: 1) главная - статичный лендинг 2) авторизация/регистрация - набор форм, вся логика уже реализована 3) страница профиля - здесь есть информация о пользователе с возможностью редактирования (4 поля), загрузка фото и информация о твоем стиле, который AI на бэкенде определил по фото. Для загрузки фото нужна оплата, эта логика также реализована.
Москва
Фрилансеры
2025-05-30
Откликнуться