Skip to content

WebApi created to know ReasonML working with Node, Express and MongoDb

Notifications You must be signed in to change notification settings

leomfelicissimo/publicbiz-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PublicBiz Api

Esta Api foi criada com o objetivo de conhecer a linguagem ReasonML e sua utilização expondo uma WebApi real com conexão em um repositório de dados.

Getting Started

Siga as instruções abaixo para executar o projeto localmente na sua máquina para desenvolvimento e testes.

Pré-requisitos

Para execução deste projeto localmente certifique-se que você tenha instalado:

  • NodeJs LTS: Obtenha a versão LTS do Node para garantir o suporte a alguns recursos utilizados;

  • MongoDb: Este projeto utiliza como repositório de dados o MongoDb. Portanto, você precisa garantir que ele esteja sendo executado localmente.

Instalando e Executando Localmente

Instalando o compilador e dependências

Após clonar o repositório, tenha certeza de que ele seja seu diretório atual e execute o comando para instalar as dependências:

npm install

O BuckleScript foi adicionado como uma dependência local. Isso significa que tudo deveria funcionar corretamente. Mas sabemos como é esse mundo de desenvolvimento de software... Caso tenha problemas para execução do código ReasonML, tente instalar o bs-plataform globalmente.

npm install -g bs-platform

Preparando o banco de dados para execução local

Sugiro que você utilize o Docker para a execução do MongoDb localmente.

  • Docker: Instruções para instalar e executar o Docker localmente.
# Após instalar o docker, você pode utilizar o seguinte comando para ter um container executando o mongodb localmente:

$ docker run --name mongodb -p 27017:27017 -d mongo:bionic

# Uma vez que o container estiver sendo executado, conecte-se nele para a execução dos passos seguintes:

$ docker exec -it mongodb bash

Com o MongoDb instalado e sendo executado localmente, será necessário criar o banco de dados e a collection (isso poderia ser feito mais facilmente com uma imagem pronta, mas não tenho tempo pra tudo isso agora).

# Inicie uma nova sessão do MongoShell

$ mongo

# Crie o banco de dados (basta usá-lo na verdade)

$ use publicbiz

# Crie a collection de teste

$ db.createCollection("templates")

# Insira alguns dados para testar

$ db.templates.insert({ name: "Template 1" })
$ db.templates.insert({ name: "Template 2" })
$ db.templates.insert({ name: "Template 3" })

Agora que já instalamos o compilador e temos o banco de dados executando localmente, basta executar o servidor:

$ npm run serve

Testando

Faça uma chamada http no endereço principal para obter uma mensagem básica de que tudo está funcionando corretamente.

$ curl http://localhost:9000/

Faça uma segunda chamada que conecta no MongoDb usando o módulo ReasonML que criei e obtém os documentos da collection templates da base publicbiz:

$ curl http://localhost:9000/mongodb

Tecnologias, Bibliotecas e Frameworks:

  • ReasonML - eason lets you write simple, fast and quality type safe code while leveraging both the JavaScript & OCaml ecosystems.
  • NodeJs - Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
  • MongoDb - MongoDB’s flexible document data model makes working with data intuitive, whether you’re building an app from scratch or updating an existing one.
  • ExpressJs - Fast, unopinionated, minimalist web framework for Node.js

Authors

License

This project is licensed under the MIT License - see the LICENSE.md file for details

About

WebApi created to know ReasonML working with Node, Express and MongoDb

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages