Job portal that connects freelancers with clients based on job skills and project requirements.
The architecture has the following components:
- Frontend: Qt5 Desktop Application (C++)
- Backend: C++-based server instance that utilizes QTcpSockets (Runs on localhost:8080)
cd build cmake .. ninja ./frontend/NextGigFrontend
- Qt5
- Qt5Widgets
- Firebase C++ SDK https://firebase.google.com/docs/cpp/setup?platform=ios
- CMake
- Ninja
- Visual Studio 2019/2022 with C++ development tools, OR
- MinGW-w64 with GCC
- Ninja build system (recommended)
- NOTICE: Unsure about MacOS compatibility.
- Build essentials:
sudo apt-get update sudo apt-get install build-essential cmake ninja-build sudo apt-get install libsecret-1-dev libglib2.0-dev
- Download Firebase C++ SDK from Firebase Console
- Extract to project root as
firebase_cpp_sdk/ - Ensure the directory structure matches:
frontend/ backend/ src/ build/ firebase_cpp_sdk/ ├── include/ └── libs/ ├── windows/x64/ # Windows libraries ├── macos/ # macOS libraries └── linux/x86_64/ # Linux libraries - The CMakeLists.txt file should handle paths for Firebase SDK binaries
Assuming the executables work without compilation needed (since this submission is zipped for a class project):
- Run the executable using the startBackend.sh and startFrontend.sh on different console instances
- Feel free to start either executable first, order doesn't matter as the FrontEnd Client establishes TCP connections to the backend as needed.
- DO NOT RUN b_startBackend.sh and b_startFrontend without dependencies installed, this builds the project and WILL cause errors.
- Otherwise, feel free to run b_start***.