{"id":21962264,"url":"https://github.com/mashamoreva/coin","last_synced_at":"2026-05-04T23:40:01.411Z","repository":{"id":213697419,"uuid":"734719845","full_name":"MashaMoreva/coin","owner":"MashaMoreva","description":"🏦 Проект: \"Coin.\"","archived":false,"fork":false,"pushed_at":"2024-01-29T17:02:41.000Z","size":1403,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-28T00:33:41.415Z","etag":null,"topics":["cypress","sass","webpack"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MashaMoreva.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-22T12:31:45.000Z","updated_at":"2024-01-30T14:07:59.000Z","dependencies_parsed_at":"2024-11-29T10:40:26.265Z","dependency_job_id":"aad57953-7d16-4fca-99a7-62b675104058","html_url":"https://github.com/MashaMoreva/coin","commit_stats":null,"previous_names":["mashamoreva/coin"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MashaMoreva%2Fcoin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MashaMoreva%2Fcoin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MashaMoreva%2Fcoin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MashaMoreva%2Fcoin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MashaMoreva","download_url":"https://codeload.github.com/MashaMoreva/coin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245020313,"owners_count":20548156,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cypress","sass","webpack"],"created_at":"2024-11-29T10:36:47.013Z","updated_at":"2026-05-04T23:39:56.380Z","avatar_url":"https://github.com/MashaMoreva.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Coin.\n\nДанный проект - это веб-приложение на этапе MVP, объединяющее банковские операции с криптовалютами.\n\n#### Функционал каждого из разделов:\n\n- **Форма входа пользователя**  \n  Пользователь вводит логин и пароль на экране входа, авторизуется в системе. Регистрация через портал отсутствует, происходит в другом месте по приглашениям. Валидация требует заполнения полей \"Логин\" и \"Пароль\", не менее 6 символов и без пробелов.\n\n- **Список счетов пользователя**  \n  После успешной авторизации, пользователь переходит в свой личный кабинет, по умолчанию в раздел просмотра списка своих счетов. Возможна сортировка счетов по номеру, балансу и времени последней транзакции.  \n  Кнопка \"Создать новый счет\" добавляет автоматически новый счет пользователю без дополнительных настроек.  \n  Кнопка \"Открыть\" на каждом счете перенаправляет на страницу подробного просмотра информации о счете.\n\n- **Просмотр информации о существующей карте и форма перевода средств**  \n  Форма переводов позволяет осуществлять переводы между счетами, поле для ввода счета получателя c возможностью выбрать среди ранее использованных счетов.  \n  График истории баланса представлен в виде столбчатой диаграммы, отражая динамику баланса выбранного счёта за последние 6 месяцев. Самый актуальный месяц расположен справа. График масштабируется автоматически.  \n  История переводов предоставляет пользователю таблицу с 10 последними транзакциями текущего счета. Отрицательные суммы (исходящие переводы) выделены красным, положительные (входящие переводы) - зеленым.  \n  График баланса и история переводов являются кликабельными, обеспечивая переход в раздел подробного просмотра истории баланса.\n\n- **Подробный просмотр истории баланса**  \n  График динамики баланса представлен в виде столбчатой диаграммы, отражая изменения баланса за последние 12 месяцев.  \n  График \"Соотношение входящих и исходящих транзакций\" аналогичен первому, но раскрашенный для отображения процентного соотношения доходных и расходных транзакций в каждом столбике.  \n  История переводов представлена таблицей из 25 последних транзакций.\n\n- **Валютные инструменты**  \n  Пользователи могут мониторить состояние своих валютных счетов, просматривать последние изменения курса и осуществлять обмен валют.\n  В разделе \"Ваши валюты\" отображаются коды валют с текущим балансом.  \n  Справа предоставлена информация об изменении курса обмена валютных пар; стрелка вверх или вниз сопровождает цифры изменения курса, подсвечивая направление изменения зеленым или красным цветом.\n\n- **Карта банкоматов**  \n  На данной Яндекс.Карте представлены метки, обозначающие местоположение банкоматов.\n\n#### Стек технологий:\n\n- **Webpack** - система сборки, обеспечивающая эффективное управление зависимостями и бандлинг кода\n- **Redom** - библиотека для создания пользовательских интерфейсов, облегчающая разработку динамических веб-приложений\n- **Navigo** - маршрутизатор для создания навигации в приложениях, обеспечивает управление переходами между страницами\n- **SCSS** - препроцессор CSS, предоставляющий дополнительные возможности для структурирования и стилизации кода стилей\n- **Yup** - библиотека для валидации данных в JavaScript, удобная при работе с формами и вводом пользователя\n- **Chart.js** - библиотека для построения графиков и диаграмм, обеспечивает визуализацию данных\n- **Yandex Maps (YMaps)** - использована для интеграции карты банкоматов, предоставляет функционал работы с картами\n- **Cypress** - инструмент для тестирования веб-приложений на JavaScript с браузерной средой, обеспечивающий легкость создания тестов и проверки функциональности в реальном времени\n\n#### Инструкции по установке:\n\n- cкачайте репозиторий с приложением или склонируйте его с помощью команды:\n\n```sh\ngit clone https://github.com/MashaMoreva/coin.git\n```\n\n- перейдите в папку проекта:\n\n```sh\ncd coin\n```\n\n_Backend_\n\n- перейдите в папку с backend-частью проекта:\n\n```sh\ncd backend\n```\n\n- установите необходимые зависимости:\n\n```sh\nnpm install\n```\n\n- запустите сервер:\n\n```sh\nnpm start\n```\n\n(по умолчанию сервер слушает на порту http://localhost:3000)\n\n_Frontend_\n\n- перейдите в папку с frontend-частью проекта:\n\n```sh\ncd frontend\n```\n\n- установите необходимые зависимости:\n\n```sh\nnpm install\n```\n\n- запустите проект:\n\n```sh\nnpm run dev\n```\n\n(приложение будет доступно по адресу http://localhost:8080/)\n\n#### Запуск Cypress тестов:\n\n- убедитесь, что у вас установлен пакет Cypress; если нет, установите его с помощью\n\n  npm:\n\n```sh\nnpm install cypress --save-dev\n```\n\nили используйте yarn:\n\n```sh\nyarn add cypress --dev\n```\n\n- откройте терминал в корневой директории проекта\n- запустите Cypress с помощью команды:\n\n```sh\nnpx cypress open\n```\n\n- в открывшемся интерфейсе Cypress выберите папку `coin.cy.js` для выполнения тестов\n\n#### Ссылки:\n\n- [Макет в графическом редакторе Figma](https://www.figma.com/file/JUJVDoP27x18v4Eqt66SdK/Bank-Diploma?node-id=1%3A3)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmashamoreva%2Fcoin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmashamoreva%2Fcoin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmashamoreva%2Fcoin/lists"}