Skip to content

stepbystepcode/flypen

Repository files navigation

Flypen

LICENSE languange

Read this in other languages: English, 简体中文.

C++ Course Design

An Office Collab Backend

This is the Flypen C++ backend service for the Office Collab web application.

Frontend Project for Flypen is Here

Features

  • Real-time collaborative editing of documents
  • Chat and notifications
  • User management and access control
  • Document management and storage (markdown)

Architecture

  • Server application built with C++ drogon famework
  • MariaDB database for storage
  • REST APIs for client communication
  • Use MySQL Connector/C++ 8.1.0 connect database

Getting Started

Installation (Automatic)

sudo apt install git gcc g++ cmake libjsoncpp-dev uuid-dev zlib1g-dev openssl libssl-dev libpqxx-dev
git clone https://github.com/stepbystepcode/flypen.git --recursive
cd flypen
./run.sh

Installation (Manual)

Not Recommended

git clone https://github.com/stepbystepcode/flypen.git
cd flypen
git submodule update --init
cd drogon
git submodule update --init
sudo apt install git gcc g++ cmake libjsoncpp-dev uuid-dev zlib1g-dev openssl libssl-dev
mkdir build
cd build
cmake ..
make -j 8
sudo make install
cd ../..
cd jwt-cpp
mkdir build
cd build
cmake ..
make -j 8
sudo make install
cd ../..
wget https://dev.mysql.com/get/Downloads/Connector-C++/mysql-connector-c++-8.1.0-linux-glibc2.28-x86-64bit.tar.gz
tar zxvf mysql-connector-c++-8.1.0-linux-glibc2.28-x86-64bit.tar.gz 
mv mysql-connector-c++-8.1.0-linux-glibc2.28-x86-64bit mysql-connector
rm mysql-connector-c++-8.1.0-linux-glibc2.28-x86-64bit.tar.gz
mkdir build
./run.sh

API Documentation

See API.md for details on APIs for authentication, user management, documents, etc.

License

This project is licensed under the MIT License. See LICENSE for details.

Contact

For any questions, please reach out at [email protected] or [email protected]