Skip to content

NJUPT-SAST/sast-evento

Repository files navigation

SAST Evento

A cross-platform desktop client based on Slint

#MadeWithSlint

English | 简体中文

Brief

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 Support

Platform Status Instruction
Windows x64
Windows arm64 Application cannot run normally
macOS arm64
macOS x64 No packaging plan available
Linux x64 (pacman)
Linux x64 (deb)
Linux x64 (rpm) No packaging plan available
Linux x64 (nix) No packaging plan available
Linux arm64 No packaging plan available

Development

Prerequisites

  • Compiler that supports C++20 or higher standard
  • CMake 3.21 or higher version
  • vcpkg package manager
  • Rust toolchain

For Linux, you must install Qt6 dependencies:

# For Arch Linux
sudo pacman -S qt6-base
# For Ubuntu
sudo apt install qt6-base-dev

Clone

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

Commit Check Hook

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.

Build

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

Project Dependencies