GithubHelp home page GithubHelp logo

hartl3y94 / msip Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pasosdejesus/msip

0.0 0.0 0.0 7.52 MB

Motor para Rails que le facilita construir su sistema de información.

License: ISC License

Shell 2.44% JavaScript 3.33% Ruby 62.45% CoffeeScript 0.87% CSS 0.18% Makefile 0.11% HTML 21.15% PLpgSQL 9.47% Procfile 0.01%

msip's Introduction

Motor para Sistemas de Información estilo Pasos de Jesús - msip

Revisado por Hound Pruebas y seguridad:Estado Construcción Mantenibilidad Cobertura de Pruebas Gem Version

Logo de msip

Este es un motor diseñado para ser base actualizada de sistemas de información seguros o de otros motores para sistemas de información.

Puedes pensarlo como una capa adicional sobre Ruby on Rails que incluye soluciones estándar, seguras y probadas para más elementos de un sistema de información como:

  • Pila actualizada: desarrollado en simultaneo con adJ (distribución de OpenBSD) y modificado para operar siempre sobre las nuevas versiones de adJ que se actualizan cada 6 meses para incluir: sistema operativo más reciente, motor de base de datos más reciente, Ruby reciente, librerías y gemas más recientes. Probado de manera continua en Linux (vía integración continúa con gitlab-ci).
    Busca promover gemas recienten que faciliten el desarrollo del resto de la aplicación a nivel de interfaz e internacionalización y proveer ayudas para actualizar --por lo menos documentación en el directorio doc y guías de actualización en el wiki.
  • Pruebas con minitest
  • Modelos y controladores básicos con diversos propósitos y fácilmente ampliables o modificables con herencia o con ActiveSupport::Concern para aplicaciones más complejas.
  • Propuesta para administrar modelos con vistas automáticas (no requieren código) y controladores semiautomáticos vía un generador. Similar a ActiveAdmin, Administrate y Rails Admin Usa Msip::Modelo, Msip::ModelosController y vistas de app/views/msip/modelos/. La vista index incluye un filtro definible con scope en el modelo. La vista parcial _form genera automáticamente un formulario con elementos típicos. Consulta https://gitlab.com/pasosdeJesus/msip/-/blob/main/doc/vistas-automaticas.md
  • Concepto y propuesta de tablas básicas (también llamados tesauros de la aplicación o parámetros de la aplicación) con vistas automáticas y controladores y modelos semiautomáticos vía un generador. Validación automática de campos has_many cuando se borra un registro para reportar si existen registros dependientes en otras tablas (en lugar de fallar)
  • Propuesta inicial para control de acceso con:
    • Autenticación con tabla usuario (modelo ::Usuario), gema devise y cifrado bcrypt
    • Autorización muy configurable con gema cancancan que puede valerse de roles (inicialmente sólo Administrador y Operador) o grupos (implementados en tablas msip_grupo --modelo Msip::Grupo--, y msip_grupo_usuario), o en otras tablas o métodos que elija.
  • Tablas estándar iniciales para ubicaciones geográficas msip_pais, msip_departamento, msip_municipio, msip_clase para centros poblados), msip_tclase (tipos de centros poblados), msip_tsitio (tipo de sitio) y msip_ubicacion. Con datos de todos los países, aunque estados y municipios completos para Colombia, Venezuela y Honduras y ciudades completas para Colombia de acuerdo a DIVIPOLA 2022 con actualización periódica (vía migraciones de rails) de acuerdo a esa fuente oficial.
  • Tablas estándar iniciales para personas y relaciones entre personas msip_persona, msip_trelacion (tipo de relación entre personas), tdocumento (tipo de documento de identificación personal), msip_persona_trelacion (relación entre 2 personas).
  • Tablas estándar iniciales para grupos de personas msip_grupoper, organizaciones sociales msip_orgsocial (así llamamos a un grupo de personas que se ponen de acuerdo para un trabajo o representación conjunta), sus sectores msip_sectororgsocial y la relación entre una persona y una organización social con su perfil msip_orgsocial_persona y msip_perfilorgsocial
  • Propuesta para anexos con tabla msip_anexo y vistas incrustables y gema kt-paperclip
  • Facilidades de configuración de aplicaciones que usen este motor mediante
    • Variables de ambiente en un archivo .env y la gema dotenv.
    • Con variables de configuración de rails en el espacio de nombres config.x,
    • Con variables de configuración en config/initializers/msip.rb (por ejemplo país por omisión en Msip.paisomision).
    • La inicialización de este motor (lib/msip/engine.rb) incluye automáticamente migraciones de motores en la aplicación final.
  • Propuesta de respaldo cifrado y comprimido con 7z por parte de usuario final (del rol que se configure) desde menús de la aplicación.
  • Localización con mecanismos estándar de rails y de twitter_cldr. Propuesta para localización de campos tipo fecha(s) (que en español no es bien soportado por rails) especificando el formato local en config.x.formato_fecha, así como ayudas para definir campos de fecha localizados en ese formato.
  • Vistas y formularios generados con las herramientas estándar de rails y simple_form. Listados paginados con will_paginate.
  • Preparado para construir aplicaciones adaptables (responsive) con bootstrap, stimulus y/o coffescript y jquery. Se usa de manera predeterminada chosen para cuadros de selección simple y múltiple y bootstrap-datepicker para campos de fecha.
  • Incluye biblioteca para operaciones comunes con javascript, por ejemplo para facilitar actualización automática mediante AJAX (ver msip_enviarautomatico_formulario en app/asset/javascript/msip/motor.js.coffee.erb que enviará automáticamente formularios cuando cambien campos con clase enviarautomatico o se presionen enlaces a anclas con esa clase)
  • Tareas rake para actualizar indices y sacar copia de respaldo de base de datos

Requisitos

Ver https://gitlab.com/pasosdeJesus/msip/blob/main/doc/requisitos.md

Aplicación mínima incluida en msip

msip ya viene con una aplicación mínima (en el directorio test/dummy ) que es la usada para hacer pruebas de regresión. Es una aplicación completa con diseño web adaptable, autenticación, manejo de clave con condensado bcrypt, usuarios, grupos, vistas completas para tablas básicas y para modelos persona y organización social. Incluso antes de intentar iniciar una aplicación aparte, puede intentar ejecutar esa aplicación mínima, siguiendo las instrucciones de: https://gitlab.com/pasosdeJesus/msip/blob/main/doc/aplicacion-de-prueba.md

Iniciar un sistema de información usando msip

Ver https://gitlab.com/pasosdeJesus/msip/blob/main/doc/iniciar-si-usando-msip.md

Resto de la documentación

Después de tener tu primer ejemplo puedes generar tablas básicas para tu aplicación, personalizar los modelos, vistas y controladores que msip ofrece. Consulta: https://gitlab.com/pasosdeJesus/msip/blob/main/doc/README.md

msip's People

Contributors

vtamara avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.