A cross-platform desktop client based on Slint
English | ็ฎไฝไธญๆ
SAST Evento is an event management system for SAST. During our activities, we often encounter the following problems:
- The collection of event information is still done through traditional shared spreadsheets, which is inefficient.
- Manual investigation is required to resolve conflicts in event scheduling and venue availability.
- The event schedule template needs to be manually updated every week and cannot be generated automatically.
- The participation and feedback from students are not high, and the achievements of the events cannot be quantified.
- There is a lack of quality feedback for the events.
To address these issues, we have decided to develop an event assistance system during the SoC period to help department heads and instructors smoothly manage their daily activities and reduce communication burden.
This project is the desktop client version of SAST Evento.
Platform | Status | Instruction |
---|---|---|
Windows x64 | โ | |
Windows arm64 | โ | Waiting for Slint upstream fixes |
macOS arm64 | โ | |
macOS x64 | โ | |
Linux x64 (pacman) | โ | |
Linux x64 (portage) | โ | |
Linux x64 (deb) | โ | |
Linux x64 (rpm) | โ | PRs are welcome |
Linux x64 (nix) | โ | PRs are welcome |
Linux x64 (AppImage) | โ |
Normally, you could download the latest version from the release page. If you are using one of the following Linux distributions, you can install the package directly through the package manager.
paru -S sast-evento
# or
yay -S sast-evento
Note
You can install sast-evento-bin
package if you want to install the pre-built binary package, or sast-evento-git
package if you want to use dev
branch.
Add corcodile
overlay.
emerge -av eselect-repository
eselect repository add corcodile git https://github.com/f3rmata/corcodile.git
Using spdlog
in overlay to fix the bundled fmt
issue.
emerge -av spdlog::corcodile sast-evento
Under normal circumstances, you do not need to modify this file directly. The configuration file is located in the following paths:
- Windows:
%AppData%\Local\NJUPT-SAST-C++\SAST-Evento\config.toml
- macOS & Linux:
$HOME/.config/NJUPT-SAST-C++/SAST-Evento/config.toml
The log file is located in the log folder. Remember to submit the log file when you report bugs. The log folder is located in the following paths:
- Windows:
%Temp%\NJUPT-SAST\logs
- macOS:
$TEMPDIR/NJUPT-SAST/logs
- Linux:
/tmp/NJUPT-SAST/logs
The cache folder is located in the following paths:
- Windows:
%LocalAppData%\evento
- macOS:
$HOME/Library/Caches/evento
- Linux:
$HOME/.cache/evento
- Compiler that supports C++20 or higher standard
- CMake 3.21 or higher version
- vcpkg package manager
- Rust toolchain
For Linux platforms, we recommend you install the Qt6 base library directly from the package manager:
# For Arch Linux
sudo pacman -S qt6-base
# For Ubuntu
sudo apt install qt6-base-dev
For macOS and Windows platforms, you can install Qt6 from the official website to dynamically link Qt to this project; Alternatively, you can use vcpkg to build Qt6 from source.
git clone --recursive https://github.com/NJUPT-SAST/sast-evento.git
Note: This project uses submodules, so make sure to clone the repository with the --recursive
flag, or execute the following command after cloning:
git submodule update --init --recursive
This project uses pre-commit for commit checks to ensure code style consistency. Please install the pre-commit tool first:
# For Arch Linux
sudo pacman -S pre-commit
# For Pipx users (cross-platform)
pipx install pre-commit
Then, after cloning the project, execute the following command to install the pre-commit hook:
pre-commit install
Tip
If you find the results provided by the tool unreliable, you can temporarily skip the commit check by using git commit --no-verify
.
Tip
We recommend using VScode to open and edit the project. We have reserved the .vscode
folder for basic settings and extensions.
This project uses CMake Presets for quick configuration and building. The required command line is as follows:
# For Windows platform, make sure the compilation toolset-related environment variables are configured
# You can use the `vcpkg env` command to enter a shell with the correct environment variables set
cmake --preset native
# Depending on your needs, you can use `native-debug`, `native-release`, or `native-relwithdebinfo` preset
cmake --build --preset native
If you use vcpkg to install Qt6, you need to add the following build options to the CMake command:
cmake --preset native -DVCPKG_MANIFEST_FEATURES=qt-from-vcpkg
For Windows platform, you can use static linking to avoid some strange problems:
cmake --preset native -DVCPKG_MANIFEST_FEATURES=qt-from-vcpkg -DVCPKG_TARGET_TRIPLET=<x64 or arm64>-windows-static
If you want to speed up the build process in Debug mode, you can add -DSPEED_UP_DEBUG_BUILD=ON
option.
Pull requests and any feedback are welcome. For major changes, please open an issue first to discuss what you would like to change.