Skip to content

raidgar98/antybiurokrata

Repository files navigation

Codacy Badge

antybiurokrata

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

Goals



Code

  • sticks to C++ 20 standard
  • is cross-platform
  • is macro-free
  • is well documented with DOXYGEN

Program

  • connects to multiple sites and download required data
  • provides comprasion between theese sites
  • prints report of missing publications

TODO


🞎 add more tests

🞎 design CLI

🞎 implement configs

Currently done


🗹 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

Setup



This setup was tested for Manjaro Linux (arch-based)
Most likely it will be working for most of linux distros

1. Qt


The best way of installing all required libraries and headers is to use this installer. Unfortunatelly it requires logging in.

⚠️Tested version of Qt is 5.4 ⚠️


2. Boost


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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published