Assim como o Laguinho da UFCG é (era) o ponto mais central da universidade, esta API centralizará dados para pesquisas e aplicações.
Desenvolvedores e pesquisadores podem utilizar o laguinho para compartilhar e consumir diferentes tipos de dados, com o objetivo de auxiliar o desenvolvimento de aplicações ou de pesquisas.
O laguinho é composto por 3 componentes:
Use a interface Web para encontrar novos conjuntos de dados (datasets), favoritar os melhores e compartilhar outros com a comunidade, além disso, crie seu perfil e encontre pessoas com perfis semelhantes.
A CLI é executada no terminal e é uma das formas de interagir com o Laguinho para quem tem familiaridade, principalmente desenvolvedores.
A API é responsável por receber todas as requisições dos outros componentes e permitir o registro e obtenção dos conjuntos de dados.
- Compartilhar dados para pesquisas.
- Favoritar os seus datasets preferidos.
- Ter diversas informações centralizadas.
- Utilizar o que a comunidade compartilhou em seus projetos e pesquisas.
- Encontrar pessoas que estão trabalhando com dados semelhantes.
Os dados são abertos e todos podem contribuir com mais dados e endpoints. Veja mais detalhes no CONTRIBUTING.md e se joga no laguinho com a gente!
Este projeto é feito utilizando Python 3, você precisa tê-lo instalado na sua máquina.
Para rodarmos as dependências de banco de dados e servidores externos, utilizamos Docker e Docker Compose, caso ainda não tenha instalado na sua máquina, esse tutorial ajuda a instalar o docker e esse tutorial ajuda a instalar o docker-compose, mas lembre-se que qualquer dúvida no processo de instalação, sempre tem alguém no discord pra ajudar!
Antes de tudo, você precisa rodar as dependências com o docker-compose
pra isso, rode o comando abaixo:
# Roda banco de dados e outras dependências
$ docker-compose up
Isso iniciará as dependencias e vai ficar mostrando uns logs no terminal...
Após iniciado, você deve, em outro terminal, rodar os comandos abaixo
# instalando o pipenv
$ pip install --user pipenv
# clonando o repositório
$ git clone https://github.com/OpenDevUFCG/laguinho-api.git
$ cd laguinho-api
# instalando as dependências
$ pipenv install --dev
# executando o script de inicialização da versão de desenvolvimento
$ pipenv run start
Deverá aparecer a mensagem Running on port 8080
e o servidor estará disponível em http://localhost:8080.
Caso queira executar em uma porta diferente, terá que rodar o script de inicialização indicando a porta desejada, como por exemplo, para mudar pra porta 5000
:
pipenv run start --port 5000
Quer implementar alguma nova funcionalidade ou corrigir algum bug? Pode ir dando uma olhada nas issues abertas pra saber no que estamos trabalhando ou se preferir pode abrir sua própria caso queira corrigir ou adicionar algo novo!
Qualquer dúvida é só procurar a gente via discord ou pelas issues mesmo!
OBS: Esse ainda é um projeto em desenvolvimento, para acompanhar melhor, tudo começou com esta issue, a partir dela você consegue chegar em toda a discussão sobre a API