# **Malackathon Backend** > Malackathon CyberBokeron backend repo. ![C++](https://img.shields.io/badge/C%2B%2B-17%2B-blue?style=flat-square) ![Oat++](https://img.shields.io/badge/Oat++-1.3.0-orange?style=flat-square) ![License](https://img.shields.io/badge/license-MIT-green) ## **Table of Contents** - [Description](#description) - [Features](#features) - [Tech Stack](#tech-stack) - [Installation](#installation) - [Usage](#usage) - [Project Structure](#project-structure) - [Contributing](#contributing) - [License](#license) --- ## **Description** This project is a backend API server for Malackathon CyberBokeron, built using [C++](https://cplusplus.com/) and [Oat++](https://oatpp.io/), a lightweight and fast web framework for building REST APIs. ## **Features** - 🚀 High-performance backend with Oat++ - 📚 Clean API structure with REST endpoints - 🧩 Modular design and scalability - 🛡️ Integrated error handling and logging - ⚙️ Easy to extend and customize ## **Tech Stack** - **Language**: C++17 or later - **Framework**: [Oat++](https://oatpp.io/) - **Build System**: CMake - **Database**: [OracleSQL] (optional) - **Testing**: [Unit testing library] ## **Installation** Before you begin, ensure you have the following installed: - [CMake](https://cmake.org/download/) - [Oat++](https://github.com/oatpp/oatpp) - [Compiler supporting C++17](https://gcc.gnu.org/), such as GCC or Clang ### **Step-by-step Installation** 1. Clone the repository: ```bash git clone ``` 2. Navigate into the project directory: ```bash cd Malackathon-backend ``` 3. Create a build directory and configure the project using CMake: ```bash mkdir build && cd build cmake .. ``` 4. Build the project: ```bash make ``` 5. (Optional) Run the tests if available: ```bash make test ``` ## **Usage** To start the server, run the following command in the `build` directory: ```bash ./project-executable ``` By default, the server will be accessible at `http://localhost:8000`. You can change the port and other settings in the configuration file. ### **Environment Variables** You can configure the server using environment variables. Example: ```bash export SERVER_PORT=8080 export DATABASE_URL=postgres://user:password@localhost:5432/dbname ``` ## **API Endpoints** - **GET /api/example** - Fetches example data. - **POST /api/example** - Creates a new example entry. For a detailed list of endpoints, see the API documentation (poner algo aqui). ## **Contributing** Contributions are welcome! To contribute, follow these steps: 1. Fork the repository. 2. Create a new feature branch (`git checkout -b feature-new-feature`). 3. Commit your changes (`git commit -am 'Add new feature'`). 4. Push your branch (`git push origin feature-new-feature`). 5. Open a Pull Request. Please ensure your code follows the project’s coding guidelines and passes all tests. ## **License** This project is licensed under [AGPLv3](LICENSE) license. ---