Skip to content

ninocss/UntisPlus

Repository files navigation

App_Banner

Untis+

A Flutter client for WebUntis with a clean timetable, exam overview, free room search, school announcements, AI assistant, home widgets, and background updates.

Private by default. All data stays on your device. Optional AI features use your own Gemini API key.

Installation

Download the latest APK from GitHub Releases and install it on your Android device.

Features

  • Weekly and daily timetable views with free room search
  • Exam overview with the ability to add custom exams
  • School announcements feed
  • Optional Gemini-powered AI assistant
  • Persistent current-lesson notification and home screen widgets
  • Background data refresh to keep widgets and notifications up to date
  • Cancelled lesson visibility, custom subject colors, and hidden subjects
  • Demo mode to explore the app without a WebUntis account
  • German, English, French, Spanish, and Greek
  • Light, dark, and system themes with animated backgrounds

Screenshots

Timetable

Weekly timetable
Weekly timetable
Daily timetable
Daily timetable
Daily timetable in dark mode
Daily timetable, dark mode

Exams, rooms, and school setup

Exams
Exams
Exams in dark mode
Exams, dark mode
Free rooms
Free rooms
Free rooms in dark mode
Free rooms, dark mode
School announcements
School announcements
School announcements in dark mode
School announcements, dark mode
Select class
Select class
Select class in dark mode
Select class, dark mode

AI assistant

AI assistant
AI assistant
AI assistant in dark mode
AI assistant, dark mode
Details in dark mode
Details, dark mode

AI assistant (Gemini)

The AI assistant becomes available after you add your own Gemini API key.

  1. Open Google AI Studio.
  2. Create a new API key.
  3. Copy the key into the app under Settings > AI Assistant > Gemini API Key.

The key is stored locally on your device.

Notifications and widgets

Untis+ can refresh data in the background to keep widgets and notifications up to date.

  • Enable the persistent current-lesson notification in Settings > Progressive push notification.
  • Widgets and notifications update automatically when the OS allows it.
  • After the first login, data is fetched immediately so widgets can show content right away.

If Android requests notification or background permissions, allow them so these features work correctly.

Privacy

Untis+ stores all data locally on your device, including:

  • Session ID
  • School server and school name
  • Username and password
  • App settings
  • Gemini API key, if configured

Data is sent only to:

  • Your WebUntis server for authentication and timetable/exam data
  • Google Gemini API, only if you enable the AI assistant

Untis+ does not use analytics or tracking of any kind.

Requirements

  • Flutter SDK 3.11 or newer
  • A WebUntis account from your school
  • Optional: a Gemini API key for AI features

Development setup

Install dependencies:

flutter pub get

Run the app on a device or emulator:

flutter run

Build a release APK:

flutter build apk --release

Project structure

Contributing

Issues and pull requests are welcome.

  • Describe the expected and actual behavior.
  • Include screenshots when UI changes are involved.
  • Keep changes focused and consistent with the existing code style.

Disclaimer

Untis+ is not affiliated with, endorsed by, or connected to WebUntis or its respective owners.

About

A Flutter client for WebUntis with a clean timetable, exam overview, free room search, school announcements, AI assistant, home widgets, and background updates. Private by default. All data stays on your device. Optional AI features use your own Gemini API key

Topics

Resources

Stars

Watchers

Forks

Contributors