diff --git a/README.md b/README.md index 1800b4a..bc23094 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,126 @@ -# Malackathon-backend +# **Malackathon Backend** -Backend for Malackathon CyberBokeron (🐟) fully written in C++. Made using Oat++. +> Malackathon CyberBokeron backend repo. -To run: -***Opcion Docker*** +![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) -***Opcion normal*** +## **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. + +---