This project is a TCP/IP application written in C++ using the Boost.Asio library. App is designed to provide effective networking Task tracking between remote users.
- Asynchronous I/O operations using Boost.Asio.
- High performance with low latency.
- Command Line Interface to interact with app
- All clients can authorize as user with username
- User can create or edit task with following attributes: title, description, deadline date and participants (users)
listcommand display a list of all tasks- Users can complete tasks together with participants and track the actions of others (editing, completing, deleting and etc)
- CRUD operations using postgreSQL database
- snake_case code style
- C++20 (or higher)
- Boost library (version 1.85.0 or higher)
libpqxxapi for PostgreSQL- CMake (version 3.10 or higher)
- A compatible C++ compiler (GCC, Clang, MSVC, etc.)
Clone repository
git clone https://github.com/dwuiem/network-task-tracking.git
cd network-task-trackingDownload a boost library from https://www.boost.org/users/download/ or use vcpkg package manager
Also add libpqxx using vcpkg
Use CMake to build project
mkdir build
cd build
cmake ..
makeAfter building project you will have two executable files in /server and in /client
.idea/ # IDE configuration files
client/ # Client main
main.cpp
CMakeLists.txt
networking/ # Networking utilities and components
include/
server/ # Headers for server
...
client/ # Headers for client
...
src/
server/ # Source for server
...
client/ # Source for client
...
CMakeLists.txt
server/ # Server main
main.cpp
CMakeLists.txt
cmake-build-debug/ # Build output directory
CMakeLists.txt # CMake build configuration file