Engeener project for Silesian University of Technology.
Goal of this project is to compare diffrent aggregators of scientific publications and print report of missing articles between them
- sticks to C++ 20 standard
- is cross-platform
- is macro-free
- is well documented with DOXYGEN
- connects to multiple sites and download required data
- provides comprasion between theese sites
- prints report of missing publications
🞎 add more tests
🞎 design CLI
🞎 implement configs
🗹 depolishing names and surnames of authors
🗹 added scripts to generate libraries / windowses
🗹 properly linked all libraries in cmake with DRY methodology
🗹 added documentation generation
🗹 added few patterns for future usage
🗹 added manual on how to install
🗹 preimplemented data gathering from dorobek
🗹 recognition of ORCID
usage
🗹 implemented assertion and exception mechanism
🗹 added networking mechanism
🗹 refactor orm
🗹 add conversion between object representation to comparable objects (objects with higher abstraction)
🗹 added object representation for:
🗹 design GUI
🗹 implement multithreading
🗹 implement report generation
This setup was tested for Manjaro Linux (arch-based)
Most likely it will be working for most of linux distros
The best way of installing all required libraries and headers is to use this installer. Unfortunatelly it requires logging in.
This project uses boost 1.75, which is avaible here
For build in /opt/boost
add this line to your /etc/enviroments
:
BOOST_ROOT=/opt/boost
also remember to link create symlinks:
sudo ln -s $BOOST_ROOT/boost /usr/include/boost
sudo ln -s $BOOST_ROOT/stage/lib /usr/lib/boost
3. rang - collors for terrminal
sudo mkdir /opt/rang
sudo chown $USER:$USER /opt/rang
pushd /opt/rang
git clone https://github.com/agauniyal/rang.git .
pushd include
sudo ln -s $PWD /usr/include/rang
popd && popd
4. Drogon - network library for modern c++
sudo mkdir /opt/drogon
sudo chown $USER:$USER /opt/drogon
pushd /opt/drogon
git clone https://github.com/an-tao/drogon.git .
git submodule update --init --recursive
mkdir build
pushd build
cmake ..
make -j$(nproc)
sudo make install
popd && popd
5. boost-ex/ut - macro-free testing framework
sudo mkdir /opt/ut
sudo chown $USER:$USER /opt/ut
pushd /opt/ut
git clone https://github.com/boost-ext/ut.git .
git submodule update --init --recursive
mkdir build
pushd build
cmake ..
make -j$(nproc)
sudo make install
popd && popd
In my case i've had to create symlink:
ln -s /usr/local/include/ut-*/include/boost/ut.hpp /usr/include/boost/ut.hpp