acmfi / discord-bot

Discord bot developed during summer 2020 as a summer project :D
1 stars 0 forks source link

Discutir el nombre de la arquitectura que vamos a usar #29

Closed JustAntoRS closed 4 years ago

JustAntoRS commented 4 years ago

Haz un comentario con el nombre y que la gente lo vote

JustAntoRS commented 4 years ago

Esto se ha discutido y se ha decidido ya si no recuerdo mal, @onmax podrias poner aqui un resumen o algo de la arquitectura y asi cerramos la issue??

onmax commented 4 years ago

Hola, he estado pensando una posible solución a la estructura del proyecto. La estructura general que tengo pensada es la siguiente:

proyect
├── .git
├── .gitignore
├── .env
├── Dockerfile
├── src
│    ├── bot.py
│    ├── api
│    │    └── ...
│    ├── extensions
│    │        ├── views
│    │        │    ├── poll.py
│    │        │    └── ...
│    │        └── logic
│    │             │── exceptions
│    │             │     ├── invalid_argument.py
│    │             │     └── ...
│    │             │── lib
│    │             │     ├── command.py
│    │             │     ├── other_common_classes.py
│    │             │     └── ...
│    │             │── poll
│    │             │      │── poll_command.py
│    │             │      │── poll_handler.py
│    │             │      └── ...
│    │             └── ban_hammer
│    │                    │── ban_hammer.py
│    │                    └── ...
│    └── static
│            └── data.json
└── test
         └── ...

Esta arquitectura la he nombrado: Vista Lógica. Es una variante más sencilla del modelo-vista-controlador

La carpeta viewscontendría las funciones usadas por la librería de discord para registrar los comandos haciendo uso de las extensiones de comandos. Esos datos de entrada serían procesados por los archivos dentro de la carpeta logic, que podrán hacer uso de funciones y clases comunes alojadas en la carpeta lib. Una vez ejecutado la lógica, esta hara algun return al views para realizar la respuesta al usuario.

La carpeta static contendrá archivos como es en el caso de la funcionalidad Ban Hammer. Que os parece? Alguna sugerencia de cambio?

xiaopeng-ye commented 4 years ago
JustAntoRS commented 4 years ago

Okay, creo que hay consenso en general. Creo una issue para hacer tracking de esto y reordenar lo que hay ahora mismo en master siguiendo la estructura definida.

Me pongo yo como asignee y me encargo de ello para mañana (Martes, 15 de Septiembre)