Skip to content

LibreHomework is a project made by and for students. It includes multiple tools to make your school life more efficient and enjoyable

License

Notifications You must be signed in to change notification settings

kaiiwaii/LibreHomework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LibreHomework

LibreHomework is an app made by students and for students. Features:

  • Adding and removing tasks which are notified by a daemon (only in GNU/Linux)
  • Manage your subjects
  • Lock your screen to prevent distractions
  • Manage your exams (coming soon, 50% done)
  • Manage your Documents (coming soon, 50% done)
  • Custom network where you can meet other students through their profiles (coming soon, 50% done)
  • Available in multiple languages (en/es/eo/ru/pt/pl) and more coming soon (fr/de)

Project info

The project is divided in 3 parts:

  • The app/client is written with Rust (backend) and Tauri + Svelte (frontend). Why did we choose Tauri? Because it's an amazing framework that allows you to write Electron-like desktop apps with much less resource consumption while still using flexible web technologies. Why Svelte? We all know javascript has lots of frameworks, but Svelte is intuitive and easy to use while at the same time fast as there's no virtual DOM.
  • The daemon is written with pure Rust to achieve a low resource consumption. It can be configured by editing the daemonconfig.json in the .config/LibreHomework file, but now it needs to be done manually.
  • The server is written in Python with Sanic and postgresql. Why did we choose Python for the server? At first, it was intended to be written with Rust and Rocket.rs, but we finally decided to use python due to security concerns in the SQL library (injections).

Installation

You can found the compiled releases in the Releases section.

In GNU/Linux you can also use a custom installation script

bash <(curl -sL https://raw.githubusercontent.com/HGEpro/LibreHomework/main/scripts/install.sh)

For Windows users: the app should compile and run fine but it hasn't been tested. There are no compiled releases for windows due to compilation problems, so if you want to contribute you can start with that.

Setup

To run or compile the app from source, you can use follow the steps below:

Install Tauri and all the dependencies

Run these commands:

$ cd LibreHomework/app
$ npm i

For running the app, you can use:

$ npm run tauri dev

And for building the app you can use:

$ npm run tauri build

For the daemon you can simply type:

$ cd LibreHomework/daemon && cargo build --release

Contributing

If you want to contribute to the project, you can fork the project and make your changes or just open a pull request.

Credits

Thanks to Wolfram for the UI code and YeahNotSewerSide for the technical support.

Translations

Additional info

This project has been created for the YH4F 2021-2022.