Skip to content

CTD Digital House - EB3 Go - Trabajo Final Integrador - CRUD de Sistema de reserva de turnos - Equipo 03

Notifications You must be signed in to change notification settings

Gigi-U/golang-dental-clinic-crud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

eb3_desafio_Final_grupo03

CTD Digital House - EB3 Go - Trabajo Final Integrador - CRUD de Sistema de reserva de turnos - Equipo 03

Desafío Final

Integrantes 🤜🏼🤛🏼

  • Bonillo, Eugenia
  • Colman, Jennifer
  • Converso, Lara Daniela
  • Urriza y Spreafichi, Sonia Gisela

Fecha de Entrega 📅

Fecha de entrega: [04/12/2023]

Desafío 🚀

Se desea implementar una API que permita administrar la reserva de turnos para una clínica odontológica.

🛠️   Administración de datos de odontólogos: 
      ✔️  CRUD odontólogos. 
      ✔️  Registrar apellido, nombre y matrícula de los mismos.    
 
🛠️   Administración de datos de los pacientes:     
      ✔️  CRUD pacientes. 
      ✔️  De cada uno se almacenan: nombre, apellido, domicilio, DNI y fecha de alta. 
      
🛠️   Registrar turno: 
      ✔️  CRUD Turnos
      ✔️  se tiene que poder permitir asignar a un paciente un turno con un odontólogo a una determinada fecha y hora. 
      ✔️  Al turno se le debe poder  agregar una descripción. 

🛡️    Seguridad mediante middleware: 
      ✔️  se tiene que proveer cierta seguridad al momento de realizar POST, PUT, PATCH y DELETE. 
     ✔️  Esta seguridad mediante autenticación deberá estar implementada mediante un middleware

📝   Documentación de la API: 
      ✔️  se debe proveer de la pertinente documentación de la API mediante la implementación de Swagger.

Requerimientos técnicos 🚀🚀

La aplicación debe ser desarrollada en diseño orientado a paquetes:


✔️ Estructura proyecto:

  GOLANG-DENTAL-CLINIC-CRUD
    |--> go.mod + go.sum + .env
    |
    |___.vscode --> settings.json
    |   
    |___cmd
    |   |____server
    |        |______handler
    |        |       |______appointments --> appointments.go
    |        |       |______dentists--> dentists.go
    |        |       |______patients --> patients.go
    |        |       |______ping --> ping.go
    |        |
    |        |_______ router --> router.go
    |        |          
    |        |--> main.go
    |
    |___docs
    |   |___ documentation -- > enunciado
    |   |___ postman --> RESTfulAPI- CRUD Equipo03.postman_collection
    |   |___ swagger.JSON
    |   |___ swagger.Yaml
    |   | --> docs.go 
    |
    |___internal
    |   |_______appointments  --> repository.go + service.go + interface.go + query.go
    |   |_______dentists  --> repository.go + service.go  + interface.go + query.go
    |   |_______models --> appointments.go + dentists.go  + patients.go 
    |   |_______patients --> repository.go + service.go + interface.go + query.go
    |
    |____pkg
        |______middleware --> logger.go + security.go
        |______utils -->date.go
        |______web --> response.go

✔️ Run

  -  go run cmd/server/main.go

  To see the documentation, make sure its running and then go to -> http://localhost:8080/api/v1/swagger/index.html

✔️ COMMANDS para paquetes y/o librerias

  -   repository clone --> git clone git@github.com:Gigi-U/golang-dental-clinic-crud.git

  -   SERVIDOR WEB --> go mod init github.com/Gigi-U/golang-dental-clinic-crud.git

  -   GIN --> command: go get -u github.com/gin-gonic/gin  

  -   VARIABLES DE ENTORNO -- > go get -u github.com/joho/godotenv

  -   DB --> go get -u github.com/go-sql-driver/mysql

  -   PROBLEMS --> go mod tidy

✔️ OTROS

  Para configuración para el entorno de desarrollo de Go en VSC.
  En archivo settings.json (carpeta .vscode) =

  {
  "go.lintTool": "golangci-lint",
  "go.lintFlags": ["--fast"]
  } 

 --------------------------------------------------------------------------------------

  TokenPostman  grupo3 

About

CTD Digital House - EB3 Go - Trabajo Final Integrador - CRUD de Sistema de reserva de turnos - Equipo 03

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages