Skip to content
avalianizPublic

About

app built for students who want their study life in a single workspace

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Workspace

Built for students who want their study life in a single workspace.

React 19 TypeScript Vite 8 Tauri 2 Tailwind CSS 4

Rust SQLite Node 20+ Platforms License


Info

Workspace is a desktop study app that combines assignments, schedule, course materials, syllabi, focus sessions and a markdown notebook in one app, so you spend less time opening different apps/websites. The app also offers an optional sync from LMS functionality.

Dashboard Study stats, streaks, mental load, quick focus timer, assignments, calendar
School Assignments, schedule, materials and syllabi
Study Pomodoro focus sessions with ambient sound
Notebook Milkdown-powered markdown editor
Sync Optional LMS integration for assignments and schedule
Storage SQLite persistence + customizable notes/syllabi paths

Running the app yourself

Prerequisites

Development

npm install
npm run tauri:dev

Frontend only:

npm run dev

Production build

npm run tauri:build

Installers land in src-tauri/target/release/bundle/.


Architecture

flowchart LR
  subgraph frontend["React frontend"]
    UI[Pages & components]
    Store[Zustand stores]
    DB[db.ts commands]
  end

  subgraph backend["Tauri / Rust"]
    Commands[IPC commands]
    SQLite[(SQLite)]
    LMS[LMS sync]
    FS[Filesystem]
  end

  UI --> Store --> DB --> Commands
  Commands --> SQLite
  Commands --> LMS
  Commands --> FS
Loading
Layer Path Role
Frontend src/ React UI, hooks, pages
Backend src-tauri/ Database, LMS, storage paths
Static public/ Web assets

Data storage

Data Default location
SQLite database %APPDATA%\edu.kiu.workspace\workspace.db (Windows)
LMS token & config Same app data folder
Notes Documents\workspace-notes\
Syllabi Documents\workspace-syllabi\

Custom notes and syllabi paths can be changed in Settings → Storage.

Database schema

Managed in src-tauri/src/db.rs (schema v2):

  • settings — profile, theme, privacy, materials, daily goal, storage paths
  • assignments / assignment_overrides — assignment records
  • schedule_templates — schedule items (JSON)
  • study_sessions — focus session history
  • lms_cache / lms_sync_log — LMS cache and sync log

The frontend talks to SQLite through Tauri commands in src/lib/db.ts.


Scripts

Command Description
npm run dev Vite dev server (browser)
npm run build Typecheck + production frontend build
npm run lint ESLint
npm run tauri:dev Tauri dev (frontend + Rust)
npm run tauri:build Production desktop bundle

License

GPL-3.0

About

app built for students who want their study life in a single workspace

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages