-
Custom Homepage: A personalized homepage that displays upcoming assessments, lessons, and notices with subject-specific colors.
-
All SEQTA functionality kept: Most SEQTA actions can be performed here.
-
Timetable Colors: Integration of timetable colors for subjects to enhance visual identification throughout the entire app.
-
Sidebar Navigation: A sidebar with quick navigation links to various sections like Home, News, Assessments, Courses, Dashboard, etc.
-
Session Management:
- Handles user sessions with login and logout functionality.
- Stores session data securely.
-
API Integration:
- Fetches data from SEQTA APIs for assessments, subjects, and user preferences.
- Utilizes Rust for backend operations with Tauri.
-
Responsive Design:
- Utilizes Tailwind CSS for styling.
- Ensures a responsive and modern UI across different devices.
Weekly builds are available via GitHub Actions. You can download the latest build artifacts from the workflow page linked below. Quick access link
Full Releases are available under the releases tab.
Quick access link
Important
To run the dev script you must have rust, cargo (included with rust) and pnpm (npm install -g pnpm
) on your system or it will not build.
Clone the repo:
git clone --branch develop https://github.com/betterseqta/desqta
Run the program:
npm run start
Install modules
npm install
Run the script
npm run tauri dev
Build app
npm run tauri build
Warning
Do not run npm run dev
as it starts the backend webui only; the pages loaded by DesQTA are built to be run by a framework not present in regular browsers. This is the same with npm run build
; it will only build the webpage files, not the app.
Folder Structure:
.gitignore
- Git ignore rulesbun.lockb
- Bun LockfileLICENSE
- License filepackage-lock.json
- Lockfile for npmpackage.json
- Project's metadata and dependenciespnpm-lock.yaml
- Lockfilepostcss.config.js
- Configuration for PostCSSREADME.md
- Project documentationsvelte.config.js
- Configuration for Sveltetailwind.config.js
- Configuration for TailwindTODO.md
- Project todostsconfig.json
- TypeScript compiler configurationvite.config.js
- Configuration for the Vite build tool
workflows/
build.yml
- Build workflow
extensions.json
- Recommended VSCode extensionssettings.json
- Required project-specific VSCode settings
app.css
- Global stylesapp.html
- Base HTML template
Editor/
- Editor module components.Editor.svelte
EditorStyles.css
Plugins/
- Editor plugin system.Commands/
command.ts
CommandList.svelte
stores.ts
suggestion.ts
+layout.svelte
+layout.ts
+page.svelte
+page.svelte
[id]/
[metaclass]/
+page.svelte
+page.ts
+page.svelte
types.ts
utils.ts
components/
CourseContent.svelte
LinkPreview.svelte
ScheduleSidebar.svelte
SubjectSidebar.svelte
+page.svelte
+page.svelte
types.ts
components/
ComposeModal.svelte
Message.svelte
MessageList.svelte
Sidebar.svelte
+page.svelte
+page.svelte
+page.svelte
+page.svelte
plugins/
- Plugin store (coming soom)+page.svelte
+page.svelte
+page.svelte
cache.ts
notify.ts
seqtaFetch.ts
.gitignore
build.rs
Cargo.lock
Cargo.toml
tauri.conf.json
default.json
apple/
.gitignore
ExportOptions.plist
LaunchScreen.storyboard
Podfile
project.yml
Assets.xcassets/
- iOS icon and UI assetsContents.json
AppIcon.appiconset/
- iOS app icons
desqta.xcodeproj/
- Xcode project structuredesqta_iOS/
- iOS-specific metadataSources/
- Objective-C/Swift bridging codedesqta/
main.mm
bindings/
bindings.h
- Various icon files for different platforms
android/
- Android-specific iconsmipmap-hdpi/
mipmap-mdpi/
mipmap-xhdpi/
mipmap-xxhdpi/
mipmap-xxxhdpi/
ios/
- iOS icon sizes
lib.rs
main.rs
auth/
- Authentication logiclogin.rs
mobilechanges/
- Mobile-specific overrideslogin.rs
utils/
- Backend utilitynetgrab.rs
session.rs
settings.rs
- Settings object for user settings
- Various static assets
images/
editor/
- Icons used in the editorcommands/
- Command icons