Mesa de ayuda de software libre. (Backend) Debido a la necesidad de tener una opción de sofware libre que use las nuevas tendencia se ha desarrollado este proyecto.
Si deseas colaborar solo revisa los issue.
- Administración de usuarios.
- Administración de clientes.
- Adminitración de Departamento
- Manejo de caso por estados.
- Creación de plantilla para maenejo de casos.
- Bandeja de Entrada
- Seguimiento de caso
- Configuración
- Creado en python
- Uso de Framework FLASK
- RESTFULL
- Control de usuario y manejo de webtokken. (JWT)
- CORS.
- SQLALCHEMY
- Envio de correo.
- Conexión con mysql/mariadb.
- Log de errores
- Socket (pendiente)
- crear el archivo config.py en la raiz del proyecto y configurar
import os
basedir = os.path.abspath(os.path.dirname(__file__))
class Config(object):
SECRET_KEY = os.environ.get('SECRET_KEY') or 'llave-secreta'
SQLALCHEMY_DATABASE_URI ='mysql://user:password@localhost/dbname'
SQLALCHEMY_TRACK_MODIFICATIONS = False
JWT_SECRET_KEY = 'secret-hash-jwt'
JWT_BLACKLIST_ENABLED=False #lista de blacklist se puede habilitar en producción
JWT_BLACKLIST_TOKEN_CHECKS=['access', 'refresh'],
MAIL_SERVER='SMTP MAIL URL'
MAIL_PORT=254 #PUERTO DE ENVIO DE CORRE
MAIL_USE_TLS=0 #ACTIVAR si el correo necesita TLS
MAIL_USERNAME='usuario de correo'
MAIL_PASSWORD='contraseña de correo'
UPLOAD_FOLDER = '/ruta de archivos estaticos/piratedeskrestful/app/static/files'
ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif']) #Tipo de archivos permitidos para subir al sistema
ADMINS = ['correo.administrado@correo.com']
class ConfigCors:
origins = '*' #RUTAS PERMITIDAS PARA ACCEDER en desarrollo trabajar con *
- Instalar los paquete de dependencia.
pip install -r requirements.txt
Nota: La instalación puede ser en un ambiente virtual (venv) o en contenedor de Docker pueden usar esteEntorno de desarrollo para FLASK
- Crear la base de datos.
Acceder desde una terminal y ejecutar el siguiente comando
python flask db upgrade
- Iniciar Servidor
export FLASK_APP=piratedesk.py
export FLASK_DEBUG=1
flask piratedesk.py
-
Acceder a localhost para probar. (verificar el puerto que salio en consola)
-
Agregar datos de inicio
flask manage dbinit
Esto creara el usuario admin con el password admin y los roles principales del sistema.