_____ _ _ ____ _____ _
___ ___ ___ ___|___ /| || || ___| | ____|_ _____ _ __ | |_ _ _ _ __ ___ ___
/ __/ _ \/ __|/ __| |_ \| || ||___ \ | _| \ \ / / _ \ '_ \| __| | | | '__/ _ \/ __|
| (_| (_) \__ \ (__ ___) |__ _|__) | | |___ \ V / __/ | | | |_| |_| | | | __/\__ \
\___\___/|___/\___|____/ |_||____/ |_____| \_/ \___|_| |_|\__|\__,_|_| \___||___/
The Eventures application project is a group project for the COSC345 university paper at the University Of Otago. This project aims to design and create a useful application for the betterment of a user or society with the primary programming language as C/C++. The project requires the incorporation of two or more publicly available datasets (of different data domains) that can be combined to create additional meaning.
Eventures aims to combine EventFinda event data along with ArcGIS geographical mapping services data to superimpose event data on a visual interface for a unique and valuable exploration and discovery application.
- User guide
- Installation Guide
- Prerequisites
- Project Setup with QT
- Project Setup with Command line
- Discord
- Artifact Generation
- Target Audience
- The Group
- Contributions
Link to Questionnaire: https://www.surveymonkey.com/r/QFQFH97
Filter events by search location
Represents event at a location
Tested with Software Versions:
- C++ compiler supporting the C++17 standard
- Qt-unified-windows-x64 (Installation Software): Version 4.6.0-online
- Qt: Version 6.5.2
- Qt Creator: Version 11.0.2
- CMake: Version 3.24.2
- Ninja: Version 1.10.2
- MSVC: Version 2019; System: 64-bit
- ArcGIS SDK: Version Qt 200.2.0
There are two available methods for configuring and executing the project: through the command line or within the QT Creator application. In either approach, it's necessary to have the following software installed and properly configured on your system:
-
Qt Creator - Open-Source:
- Download Qt Online Installer
- Open the installation wizard and advance to the installation folder
- Select custom installation
- Select the most recent full-release version of Qt and the following components:
- Under the selected version, select the MSVC 2019 version corresponding to the user system and the Sources component.
- Under Additional Libraries select Qt Multimedia, Qt Positioning, Qt Sensors, and Qt Websockets.
- Under Developer and Designer Tools select Qt Creator + Debugger Support, Debugging Tools, Debug Symbols, Plugin Development, Qt Installer Framework, CMake, and Ninja.
- Progress through installation.
-
ArcGIS Maps SDK for Qt:
- Create an ArcGIS account.
- Login to the ArcGIS Developer site with the created account and navigate to the dashboard tab.
- Navigate to the Downloads tab.
- Select the ArcGIS Runtime SDK for Qt download corresponding to the user system.
- Run the SDK installer once downloaded.
- On completetion, run the ArcGIS Runtime SDK for Qt Post Installer and connect the SDK to the Qt Installation.
- For troubleshooting and more info see the ArcGIS for Qt installations page.
-
Clone The Repository:
- Open a terminal and navigate to your preferred directory.
- Clone the repository:
git clone https://github.com/flari949/COSC345-Eventures.git
-
ArcGIS SDK Qt Connection:
- Within the Eventures directory, open include>arcgis_runtime_qml_cpp.pri.
- Find the SDK_INSTALL_DIR variable and ensure it is set to the location of the ArcGIS SDK Qt installation.
- By default, the installation should be under:
"C:/Program Files/ArcGIS SDKs/Qt200.2.0"
- By default, the installation should be under:
- Open Qt Creator
- Select: File/Open File or Project/ (Ctrl + O)
- Navigate to and select the Eventures.pro file within the repository
Path/to/repository/COSC345-Project/Eventures/Map_display.pro - Within the projects section of Qt Creator:
- Change and ensure the debug build directory is set to
\Eventures. - Disable shadow build configuration in the project settings.
- Add copy file (for Debug build):
- Source:
...\include\runtime_dependencies\libcurl.dll - Target:
..\debug\libcurl.dll
- Source:
- Repeat the same process for the Release build.
- Ensure the working directory for run is set to
\Eventures. - Select: Build > Build Project "Eventures" (Ctrl + B).
- Change and ensure the debug build directory is set to
- Navigate to the executable directory:
cd /path/to/project/Eventures - Generate runtime dependencies with Qt Windows deploy executable:
/path/to/Qt/6.5.2/msvc2019_64/bin/windeployqt.exe Eventures.exe
- Ensure the project is open in Qt Creator (Ctrl + O and navigate to Eventures.pro)
- Select: Build/Run (Ctrl + R)
- Navigate to the project .qmake.stash file location:
cd /path/to/project/Eventures - Run QMake (Ensure the QMake executable is in your path directory):
qmake - Run Make:
make
- Navigate to the executable directory:
cd /path/to/project/Eventures - Generate runtime dependencies with Qt Windows deploy executable:
/path/to/Qt/6.5.2/msvc2019_64/bin/windeployqt.exe Eventures.exe
-
Without generating runtime dependencies:
- Navigate to the project runtime dependency folder:
cd /path/to/project/Eventures/include/runtime_dependencies - Run the executable with respect to the filepath:
../../release/Eventures.exe
- Navigate to the project runtime dependency folder:
-
Build with runtime dependencies in the active folder:
- Navigate to the project release folder:
cd /path/to/project/Eventures/release - Run the executable:
./Eventures.exe
- Navigate to the project release folder:
Join our Discord community to connect with other developers, ask questions, and get help with the project: Join Eventures Discord
The project's artifact generation is managed through the workflow defined in our GitHub Actions setup. Every time there's a new commit or pull request, the workflow automatically generates the necessary artifacts.
The workflow is triggered by events such as pushes to the repository or pull requests being created. It handles the compilation, testing, and other necessary steps to produce the final artifacts. This ensures that the project remains consistent and reproducible across different environments.
For more details on how the artifact generation workflow is set up, please refer to our workflow.yml file.
This application is aimed at university students who don't have the time or the knowledge of local events required to attend. This application has the potential to benefit many more than just the target audience; however, this is the group the application will cater to the most. Notably, the application will also serve as great aid to event organizers who wish to spread knowledge and awareness of their events.
Contributors to the Eventures application participating in the Otago University COSC345 paper are as follows:
- Riley Flanagan
- Luke Piper
- Kristie Koorts
- Eszter Scarlett-Herbert
All contributions adhering to the specifications above from members of the public are warmly welcomed. However, they must be accepted as pull requests before being added. In addition, credit to the contributor will be added to the README unless otherwise specified.