Переписывание кода с Python на Kotlin
Briefly describe the project, its goal, and current architecture.
• Project: NFCGate relay-server
• Current stack: Python 3.x, server.py from the official NFCGate repository, Protocol Buffers 3.x, TCP connection on port 5566
• Environment: Windows 11 on VPS (RDP), Gradle, Kotlin
Goal
Rewrite the NFCGate server component from Python to Kotlin, preserving all existing functionality and performance metrics, with consideration for future expansion and support.
Tasks and scope of work
1. Analysis and documentation
• Study the current Python code (server.py), identify modules, message exchange logic, error handling, and protobuf data format.
• Create an architecture diagram (modules, interactions, network ports).
2. Development in Kotlin
• Choose a framework: Ktor or Spring Boot (by agreement).
• Implement acceptance of incoming TCP connections on port 5566.
• Integrate Protocol Buffers: generate Kotlin classes from .proto files, ensure serialization/deserialization.
• Implement relay logic: route traffic between two connected clients.
• Implement error handling, logs, and metrics (via slf4j/logback or built-in Ktor/Spring tools).
3. Testing
• Unit tests for each key module (using JUnit5/kotest).
• Integration tests: simulate two clients, verify correct protobuf message forwarding.
• Load testing (e.g., Apache JMeter) to check stability under peak connections.
4. Documentation and deployment
• Prepare build and run instructions (Gradle).
• Dockerfile (optional) for containerization.
• Deployment scripts or steps for Windows 11 VPS (batch build, service/daemon setup).
Requirements for the specialist
• Languages and frameworks: Kotlin, Ktor or Spring Boot, Gradle
• Network programming: experience with TCP sockets
• Protocol Buffers: generation and usage in Kotlin
• Testing: JUnit5 / kotest, ability to write unit and integration tests
• CI/CD (optional): familiarity with GitHub Actions, GitLab CI, or equivalents
Non-functional requirements
• Performance: latency no more than current ~60 ms (ping to VPS)
• Reliability: resilience to connection drops, automatic client reconnection
• Logging: configurable level (INFO, DEBUG, ERROR), log rotation
• Security: protection against basic network attacks (DoS, malformed packets)
Acceptance criteria
1. Complete transfer of Python server functionality to Kotlin without regressions.
2. All unit and integration tests pass.
3. Build and launch instructions verified on a clean Windows 11 VPS.
4. Performance meets or exceeds current metrics.
Timeline and stages
Stage Description Duration (working days)
Analysis and design Familiarization with code, diagrams 3
MVP development Basic relay logic 5
Protobuf integration Generation + tests 2
Testing Unit, integration, load testing 3
Documentation and deployment Instructions, Docker (if needed) 2
Communication
• Tool: Telegram/Slack/Email
• Reports: daily standups, interim demos (after MVP and testing)
• Code review: via GitHub Pull Requests
If you need any clarification or additions, please let us know!
-
• Проект : Переписать NFCGate relay-server с Python на Kotlin, сохранив функциональность и производительность.
• Текущий стек : Python 3.x, server.py, Protocol Buffers 3.x, TCP на порту 5566.
• Цель : Переписать сервер на Kotlin с учетом расширения и поддержки.
• Задачи : Анализ, разработка на Kotlin (Ktor или Spring Boot), тестирование (unit, integration, load), документация и развертывание.
• Требования : Kotlin, Ktor/Spring Boot, Gradle, TCP, Protocol Buffers, JUnit5/kotest, CI/CD (опционально).
• Нефункциональные требования : Производительность (задержка < 60 мс), надежность, логирование, безопасность.
• Критерии приемки : Полный перенос функциональности, прохождение тестов, инструкции по сборке и запуску, соответствие производительности.
• Этапы : Анализ (3 дня), MVP (5 дней), Protobuf (2 дня), тестирование (3 дня), документация (2 дня).
• Коммуникация : Telegram/Slack/Email, отчеты, код-ревью через Pull Requests.
-
Актуальные фриланс-проекты в категории Python
Улучшить работу Claude Code и работа с написанием софтаСейчас разрабатываю СРМ и Аналитику, софт. Делаю через Клод Код, но понимаю что результаты не лучшие в плане изменений. Есть 2 задачи - Нужно помочь сделать пресет по навыкам, мд и так далее чтобы улучшить качество. Взять проверенные с которыми работали, а не с интернета… AI и машинное обучение, Python ∙ 54 минуты назад ∙ 7 ставок |
Система OCRНужна система распознавания текста на почтовых конвертах (индекс кому - только числа). Текст иногда может быть рукописным. Распознавание марок (подсчет количества и номинала) Python ∙ 4 часа 5 минут назад ∙ 15 ставок |
Ищу White-label решение Букмекерской конторы под аренду |
Создание Human AI Assistant для Telegram-групп### 1.1. Ключевая концепция системы Система должна выполнять две основные функции: #### 1. Анализ клиентской коммуникации AI-ассистент должен автоматически анализировать всю коммуникацию в Telegram-группах и понимать контекст общения. В частности, система должна: -… AI и машинное обучение, Python ∙ 1 день 15 часов назад ∙ 39 ставок |
Чёрная Украина (RP-проект на базе MTA)
51 525 UAH
|