127 lines
3.0 KiB
Markdown
127 lines
3.0 KiB
Markdown
# **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.
|
||
|
||
---
|
||
|