{"id":18709623,"url":"https://github.com/devstackq/binaryx-task","last_synced_at":"2025-11-09T11:30:31.589Z","repository":{"id":114071382,"uuid":"406315521","full_name":"devstackq/binaryx-task","owner":"devstackq","description":null,"archived":false,"fork":false,"pushed_at":"2021-09-17T08:56:52.000Z","size":27,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-28T07:43:24.335Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","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/devstackq.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":"2021-09-14T10:05:11.000Z","updated_at":"2021-09-17T08:58:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"47de875e-b2ed-427b-ba15-2777ce72697b","html_url":"https://github.com/devstackq/binaryx-task","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devstackq%2Fbinaryx-task","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devstackq%2Fbinaryx-task/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devstackq%2Fbinaryx-task/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devstackq%2Fbinaryx-task/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devstackq","download_url":"https://codeload.github.com/devstackq/binaryx-task/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239572084,"owners_count":19661284,"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":[],"created_at":"2024-11-07T12:28:23.616Z","updated_at":"2025-11-09T11:30:31.528Z","avatar_url":"https://github.com/devstackq.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"ТЕСТОВОЕ ЗАДАНИЕ\nСтек:\n● Go\n● PostgreSQL\n● Docker\n● Ubuntu 20.04\nНеобходимо реализовать REST API сервер на языке Go.\nAPI должен принимать запросы и ответы в JSON.\nПредусмотреть защиту API от атаки CSRF.\nНадо реализовать 2 самопридуманные монеты fBTC, fETH (f - fake).\nДля создания сущностей валют можно использовать мок (пародия на реальные\nмонеты BTC и ETH соответственно).\nДля создания адреса кошелька можно использовать рандомный hash.\nДля запуска бэкенда использовать Docker и его команды.\nНеобходимо сделать такие API endpoints:\n1 Регистрация пользователя\nДоступен всем.\nПароль от 8 до 50 знаков.\nДобавить DNS валидацию домена в email.\nИмя и фамилия допускается только Unicode и только символы.\nДля пароля использовать алгоритм bcrypt или pbkdf2.\nПосле регистрации пользователя, создаем кошельки каждой\nмонеты с соответствующими адресами. По умолчанию давать\nпользователю по 100 монет каждой валюты.\n2 Аутентификация и авторизация пользователя\nДоступен всем.\nДопускать имейлы только с настоящим доменом.\nДля авторизации на API использовать JWT токен.\n3 Список кошельков\nДоступен только авторизованным.\nAPI должен возвращать кошельки fBTC, fETH с адресами и балансами. Эти данные\nдолжны быть фейковыми.\n4 Перевод средств\nДоступен только авторизованным.\nОсуществлять только внутренний перевод средств с адреса на адрес.\n\n5 Список транзакций -\nДоступен только авторизованным.\nAPI должен отдавать список транзакций с обязательными полями: сумма, комиссия,\nдата транзакции, название валюты, адрес отправителя, адрес получателя.\nПостраничная пагинация списка.\n\nhow to run:\nprepare image:\ndocker build --tag projectx .\nrun image as container:\ndocker run --detach --publish 8081:8081 projectx","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevstackq%2Fbinaryx-task","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevstackq%2Fbinaryx-task","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevstackq%2Fbinaryx-task/lists"}