This is the project for our CSC3002 course. We are going to implement a matching system for students to find their partners for various activities.
We intentionally keep everyone's code not to be re-formatted to show the difference in coding style.
Documentation is available at here.
-
Frontend
- Login page
- Register page
- Profile page
- Chat page
- Matching page
-
API gateway
- API for client
- API server
-
Chat system
- Chat system
-
Matching system
- Tags-based matching
-
Machine learning-based matching(unnecessary)
-
Storage
- Database for user information
- Database for chat history
# Install and bootstrap vcpkg
git clone https://github.com/microsoft/vcpkg
. vcpkg/bootstrap-vcpkg.sh
# Install dependencies with vcpkg
vcpkg/vcpkg install
# Configure CMake
cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=vcpkg/scripts/buildsystems/vcpkg.cmake
# Build program
cmake --build build --config ReleaseFirst, you need to start the server:
build/backendThen, you can start the client:
build/frontend- Mingyi for API gateway and matching system
- Jinghan and Jiayue for frontend
- Jinlong for storage
- Yingying for chat system
- CMake for building ecosystem
- ZeroMQ for networking
- GoogleTest for unit testing
- nlohmann-json for JSON serialization
- Qt for GUI
- SQLite for database
- vcpkg for managing dependencies