Giter VIP home page Giter VIP logo

expense-manager-api's Introduction

Expense Manager API

Guia de configuração:

  1. Clone o projeto utilizado o comando git clone https://github.com/leoralph/Expense-Manager-API
  2. Entre na pasta do projeto e instale as dependencias utilizando o comando composer install
  3. Crie uma cópia do arquivo .env.example para somente .env
  4. Gere a chave de criptografia do projeto utilizando o comando php artisan key:generate
  5. Dentro do arquivo .env, inclua as informações nesessárias para se conectar ao banco de dados
  6. Utilize o comando php artisan migrate para criar o esquema de tabelas no seu banco de dados
  7. Inclua também o dominio utilizado pelo frontend na configuração SANCTUM_STATEFUL_DOMAINS (não é necessário caso esteja utilizando algum dos dominios que estão incluídos no arquivo config/sanctum.php)
  8. Utilize o comando php artisan serve, isso irá rodar o projeto na porte 8000 por padrão, mas pode ser customizado utilizando a opção --port

Testes:

  • Os testes do projeto foram feitos com o framework PestPHP, para realizar os testes basta utilizar o comando php artisan test

Endpoints:

  • Todas as rotas utilizam por padrão o prefixo api após a url base do projeto, então se a url do projeto é http://localhost:8000, os endpoints serão utilizados na url http://localhost:8000/api

Cookie CSRF [/csrf-cookie]

[GET] Retorna um cookie chamado XSRF-TOKEN, o valor desse cookie deverá ser passado para todas as requisições que fazem uso de autenticação de alguma, o valor será passado utilizando o header X-XSRF-TOKEN

Login [/auth/login]

[POST] Autentica o token que está sendo utilizado atualmente no header X-XSRF-TOKEN

  • Request (application/json)

    • Body

        {
            "email": "
            "password": "
        }
      

Logout [/auth/logout]

[POST] Invalida o token que está sendo utilizado atualmente no header X-XSRF-TOKEN

Usuário Autenticado [/auth/user]

[GET] Retorna os dados do usuário autenticado

Usuário [/user]

[POST] Cria um novo usuário

  • Request (application/json)

    • Body

        {
            "name": "",
            "email": "",
            "password": "",
            "password_confirmation": ""
        }
      

[PUT /{userId}] Atualiza um usuário

  • Request (application/json)

    • Body

        {
            "name": "",
            "email": "",
            "password": "",
            "password_confirmation": ""
        }
      

Despesa [/expense]

[GET] Retorna todas as despesas do usuário autenticado, em formato paginado

  • Request

    • URL Query Params

      • page
      • per_page
      • sort_by
      • sort_direction
      • search

[POST] Cria uma nova despesa para o usuário autenticado

  • Request (application/json)

    • Body

      {
          "description": "",
          "date": "",
          "value": 0
      }
      

[PUT /{expenseId}] Atualiza uma despesa do usuário autenticado

  • Request (application/json)

    • Body

      {
          "description": "",
          "date": "",
          "value": 0
      }
      

[DELETE /{expenseId}] Exclui uma despesa do usuário autenticado

expense-manager-api's People

Contributors

leoralph avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.