-
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 startInstall modules
npm installRun the script
npm run tauri dev
Build app
npm run tauri buildWarning
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.svelteEditorStyles.cssPlugins/- Editor plugin system.Commands/command.tsCommandList.sveltestores.tssuggestion.ts
+layout.svelte+layout.ts+page.svelte
+page.svelte[id]/[metaclass]/+page.svelte+page.ts
+page.sveltetypes.tsutils.tscomponents/CourseContent.svelteLinkPreview.svelteScheduleSidebar.svelteSubjectSidebar.svelte
+page.svelte
+page.sveltetypes.tscomponents/ComposeModal.svelteMessage.svelteMessageList.svelteSidebar.svelte
+page.svelte
+page.svelte
+page.svelte
+page.svelteplugins/- Plugin store (coming soom)+page.svelte
+page.svelte
+page.svelte
cache.tsnotify.tsseqtaFetch.ts
.gitignorebuild.rsCargo.lockCargo.tomltauri.conf.json
default.json
apple/.gitignoreExportOptions.plistLaunchScreen.storyboardPodfileproject.ymlAssets.xcassets/- iOS icon and UI assetsContents.jsonAppIcon.appiconset/- iOS app icons
desqta.xcodeproj/- Xcode project structuredesqta_iOS/- iOS-specific metadataSources/- Objective-C/Swift bridging codedesqta/main.mmbindings/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.rsmain.rsauth/- Authentication logiclogin.rs
mobilechanges/- Mobile-specific overrideslogin.rs
utils/- Backend utilitynetgrab.rssession.rssettings.rs- Settings object for user settings
- Various static assets
images/editor/- Icons used in the editorcommands/- Command icons