Skip to content

Projeto Final Reprograma - em construção

Notifications You must be signed in to change notification settings

Jhenial/FarmaBem

 
 

Repository files navigation



Iniciativa para doações de medicamentos em São Paulo - SP

Status: em construção

GitHub Repo Size GitHub Last Commit


Sumário



Origem


(SEMPRE ABRIR ISSO DAQUI PARA UM PARAGRAFO NOVO).



Objetivo


O projeto é uma API RESTFull que permite o cadastro das farmácias interessadas em fazer parte desta iniciativa, assim como permitirá aos beneficiários, realizar consulta de disponibilidade de medicamentos e unidade correspondente.

A interface é um CRUD completo, integrado com o banco de dados, onde é possível listar, cadastrar, atualizar e deletar cadastros de farmácias, medicamentos e administradores.

API foi desenvolvida como Projeto Final para a conclusão do curso de Backend {Reprograma}.


Link


Funcionalidades

  • Cadastro das farmácias participantes;
  • Disponibilidade dos medicamentos;
  • Ajudar aos que nececissitam de apoio para aquisição de remédios para pessoas de baixa renda;
  • Reduzir o impacto ambiental com descarte incorreto de medicamentos;


Tecnologias Utilizadas

Para a construção deste projeto, as seguintes tecnologias foram utilizadas:

Java Script Git version Node version Node version Postman VsCode Heroku Mit

Bibliotecas Aplicadas

Para a construção deste projeto, as seguintes bibliotecas foram aplicadas:

Express version Nodemon version Dotenv-safe version Mongoose version npm version npm version Bcrypt version Jsonwebtoken version


Arquitetura MVC

 📁 FARMABEM
   |
   |-  📁 assets
   |    |- 📑 logo_animado.gif
   |
   |-  📁 src
   |    |
   |    |- 📁 controllers
   |         |- 📑 admController.js
   |         |- 📑 medicineController.js
   |         |- 📑 pharmacyController.js 
   |
   |    |- 📁 database
   |         |- 📑 mongoConfig.js
   |
   |    |- 📁 models
   |         |- 📑 admSchema.js
   |         |- 📑 medicineSchema.js
   |         |- 📑 pharmacySchema.js
   |
   |    |- 📁 routes
   |         |- 📑 amdRoutes.js 
   |         |- 📑 medicineRoutes.js
   |         |- 📑 pharmacyRoutes.js
   |
   |    |- 📑 app.js
   |
   |
   |- 📑 .env
   |- 📑 .env.example
   |- 📑 .gitignore
   |- 📑 package-lock.json
   |- 📑 package.json
   |- 📑 Procfile
   |- 📑 README.md
   |- 📑 server.js


Portas


🔃 Portas


Rotas

🔃 Retorna teste com apresentação

Método HTTP Endpoint Descrição
GET http://localhost:8888/ Mensagem de apresentação (Index)

🔃 Manipulação das Rotas das Farmácias:

Método HTTP Endpoint Descrição
GET /pharmacy/all Retorna todos as farmácias
GET /pharmacy/:id Retorna farmácia específico por id
POST /pharmacy/create Cria/cadastra um novo farmácia
PUT /pharmacy/:id Altera informações de um farmácia
DELET /pharmacy/:id Remove um farmácia específico

🔃 Manipulação das Rotas dos Medicamentos:

Método HTTP Endpoint Descrição
GET /medicine/all Retorna todos os medicamentos
GET /medicine/:id Retorna um medicamento específico por id
POST /medicine/create Cria um novo medicamento
PUT /medicine/:id Altera informações de um comentário
DELET /medicine/:id Remove um medicamento específico

🔃 Manipulação das Rotas de Administradores:

Método HTTP Endpoint Descrição
GET /adm/all Retorna todos os livros cadastrados
POST /adm/creat Cria/cadastra um novo livro
PUT /adm/:id Altera informações de um livro
DELET /adm/:id Remove um livro específico

Dados


✅ Dados para Collection Autores

  • id: autogerado e obrigatório
  • nome: texto e obrigatório
  • biografia: texto e obrigatório
  • email: texto e obrigatório
  • criadoEm: data gerada automaticamente e obrigatório

✅ API deve retornar seguinte JSON:

{
    "message": "Autor cadastrado com sucesso!",
    "farmácia": {
        "_id": "60df0799f34e3c6ebca1dce0",
        "criadoEm": "2021-07-02T12:24:59.726Z",
        "nome": "Victor Bonini",
        "biografia": "Victor Bonini nasceu em São Paulo, capital, e se mudou Líbero.O primeiro passo do escritor foi ler muito, o segundo, começar a desenvolver suas próprias histórias.",
        "email": "victorbonini@gmail.com",
        "__v": 0
    }
}

✅ Dados para Collection Livros

  • id: autogerado e obrigatório
  • like: opcional
  • titulo: texto e obrigatório
  • sinopse: texto e obrigatório
  • farmácia: referência do farmácia cadastrado previamente obrigatório
  • genero: texto e obrigatório
  • paginas: número e obrigatório
  • idioma: texto e obrigatório
  • exibição: texto e obrigatório
  • criadoEm: data gerada automaticamente e obrigatório

✅ API deve retornar seguinte JSON:

{
    "likes": 1,
    "criadoEm": "2021-07-02T12:43:39.099Z",
    "_id": "60df0a0382bb996448b380c0",
    "titulo": "O casamento",
    "sinopse": "PARA OS NOIVOS É O DIA MAIS IMPORTANTE DE SUAS VIDAS Meses pior. Agora, ele é o único capaz de encontrar respostas. O problema é que as mortes não param de acontecer...",
    "farmácia": {
        "criadoEm": "2021-07-02T12:24:59.726Z",
        "_id": "60df0799f34e3c6ebca1dce0",
        "nome": "Victor Bonini",
        "biografia": "Victor Bonini nasceu em São Paulo, capital, e se mudou  desenvolver suas próprias histórias.",
        "email": "victorbonini@gmail.com",
         "__v": 0
    },
    "genero": "suspense",
    "paginas": 368,
    "idioma": "poetugues",
    "exibicao": "download do livro",
    "__v": 0
}

✅ Dados para Collection comentário

  • id: autogerado e obrigatório
  • comentario: texto e obrigatório
  • criadoEm: data gerada automaticamente e obrigatório

✅ API deve retornar seguinte JSON:

{
    "criadoEm": "2021-07-05T16:34:19.089Z",
    "_id": "60df0bdcf0a295a0f4207f91",
    "comentario": "Nunca tinha lido nada de Victor Bonini e confesso que me surpreendi e muito. História bem traçada e com final que para mim, foi inimaginável.",
    "__v": 0
} 

Melhorias Futuras


  • Integrar com o Maps para calcular a distancia da farmácia mais proxima do beneficiário;
  • Implantação de código HTML e CSS para criação de uma interface capaz de possibilitar a interação do usuário com aplicação; Desenvolver uma interface que permita transmitir informações aos usuários sobre manipulação, conservação e descarte adequado de medicamentos.

Obs.: Toda sugestão de melhoria deste projeto será muito bem-vinda!!!


Aprendizados


A construção deste projeto consiste em uma API RESTFull fundamentada no CRUD com a integração do banco de dados NoSQL.

  • Definição CRUD:

    CREATE (CRIAR)
    READ (LER, CONSULTAR)
    UPDATE (ATUALIZAR) 
    DELETE (DESTRUIÇÃO, REMOÇÃO)
    

Referências



Agradecimentos


AGRADECER AQUI

linkar o insta de quem nao tem linkedin POR NOME AQUI, desse jeito.

Ao {Reprograma} colocar Amanda Leal e Letícia Desiderio .

FALTA MAIS GENTE


Autora




Criado por Xênia Barreto.



About

Projeto Final Reprograma - em construção

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 99.9%
  • Shell 0.1%