Skip to content

Latest commit

 

History

History
67 lines (52 loc) · 2.67 KB

README-PT.md

File metadata and controls

67 lines (52 loc) · 2.67 KB

Uma Simples API em C puro


Servidor web RESTful em C puro usando libmicrohttpd, uma biblioteca de servidor HTTP leve.

Para um exemplo detalhado, você pode se referir ao manual do libmicrohttpd.

Por que Escolher C para Este Projeto?

Escolhi deliberadamente a linguagem de programação C para este projeto para me desafiar e revisitar minhas raízes de programação. C foi minha primeira linguagem e continua sendo minha favorita. Além disso, C encontra uso extensivo em sistemas embarcados e aplicações em tempo real, áreas que particularmente gosto de explorar como um entusiasta.

Meu objetivo principal era obter uma compreensão mais profunda de como as APIs funcionam sob o capô e como elas se comunicam com o sistema operacional. A linguagem C é excepcionalmente adequada para esse propósito devido à sua natureza de baixo nível e interação direta com hardware e recursos do sistema.

Banco de Dados Postgres

Neste projeto, estou usando um banco de dados Postgres para armazenar informações do usuário. O banco de dados é hospedado na nuvem no supabase, e o servidor se comunica com ele usando a biblioteca libpq.

Como Executar o Servidor

Pré-requisitos:

  • Docker instalado em sua máquina (Opcional)
  • Compilador GCC instalado
  • Utilitário Make instalado

Passo a Passo:

  1. Clone o Repositório

    git clone
  2. Navegue até o Diretório do Projeto

    cd rest-api-C
  3. Atualize as Credenciais do Banco de Dados

    • Abra o arquivo pg.h no diretório src.
    • Atualize as variáveis com suas credenciais de banco de dados.
  4. Executando o Servidor:

    • Usando Docker (Linux):
      ./docker_run.sh
    • Sem Docker (Linux):
      ./main_run.sh
  5. Acesse o servidor em http://localhost:8080/ no seu navegador.

Endpoints

Essa API possui os seguintes endpoints:

  • GET /users: Retorna todos os usuários cadastrados.
  • GET /users/:id: Retorna um usuário específico com base no ID fornecido.
  • POST /users: Adiciona um novo usuário ao banco de dados.
  • PUT /users/:id: Atualiza as informações de um usuário existente.
  • DELETE /users/:id: Remove um usuário do banco de dados.