OneTJ is a third-party client for Tongji University services. It provides a clean, focused experience for student profile access and academic calendar information.
Original repository: FlowerBlackG/OneTJ.
Most features in this project are still under active development and may be unstable; feedback is welcome.
- Student profile fetch and display
- Current term calendar overview (week number and term name)
- Local caching with Hive for faster startup and offline-friendly reads
- Flutter (Dart)
lib/app/: app-level constants and exceptionslib/features/: feature modules (launcher, login, home)lib/models/: shared data models (API responses and local models)lib/repo/: local repositories and caching (token, student info, calendar)lib/services/: API/services layer (TongjiApi)lib/l10n/: localization resourcesassets/: static assets used in the app
The project has not yet completed the development of all functions, so no release version is available for direct running.
See CONTRIBUTING.md for development setup and guidelines.
- Launcher initializes storage and checks cached tokens.
- If a valid access token exists, it navigates to Home.
- Otherwise, it opens the login WebView and exchanges the auth code for tokens.
- Home fetches student profile data and the current term calendar.