SmartCalendar — Android-приложение для управления личными и совместными задачами с поддержкой приглашений, статистики и AI-функций. Приложение позволяет легко планировать день, отслеживать прогресс, взаимодействовать с другими пользователями и использовать интеллектуальные подсказки.
Back-end часть проекта доступна по ссылке:
- Sign-up, login and credential changes via secure JWT tokens
- Fetch and display user info (username, email)
- Create, edit, delete and complete tasks with Compose UI
- Prevents nested-task conflicts with real-time checks
- Invite users by username or email to collaborate on events
- Swipe-to-accept or decline invites in the invitations screen
- TaskApiWorker and InviteApiWorker for reliable offline-first operations
- Chaining: send invites only after task creation succeeds
- Unique work policies to prevent duplicate requests
- Display today’s, week’s and total task durations
- Continuous success days and average time calculations
- Reactive UI via StatisticsStore and StatisticsViewModel
- Record or pick audio clips as voice notes for tasks
- Upload via AudioRepository and display AI-generated suggestions
- Jetpack Compose screens and components (cards, swipe, badges)
- Centralized app nested navigation using common topBar/appWidget
- Clear separation: Repositories, Stores, ViewModels, UI components
- Android SDK 34+
- Jetpack Compose
- WorkManager
- Retrofit2+OkHTTP + Moshi
- Kotlinx Serialization
- JUnit 4+5 + MockK
- Clone repository:
git clone https://github.com/hse-project-Java-2025/server.git cd smartcalendar-server - Set environment variables (create
.envfile):JWT_SECRET=your_strong_secret_here CHATGPT_API_KEY=your_openai_api_key