¿Cuál es la mejor práctica al desarrollar un panel de administración para una aplicación web?

Muchas secciones de administración se crean como parte de la misma aplicación. Esto ofrece la mayor flexibilidad.

La flexibilidad que obtienes al hacer esto incluye:
– Ser capaz de reutilizar el código de manejo de datos como modelos.
– Ser capaz de reutilizar plantillas parciales y algunas vistas. Algunos JS y CSS también entran en esta categoría.
– Ser capaz de hacer una transición de una función administrativa únicamente al público en general se vuelve mucho más simple.
– Los desarrolladores pueden crear sus propios paneles en la sección de administración para ayudar con las tareas comunes que realizan. Esto incluye: procesos de revisión de contenido, pruebas y envío de correos electrónicos, algún tipo de explorador de bases de datos o herramienta de informes.

Un par de consejos:
– Cree banderas o decoradores (o algo) para indicar que ciertos puntos finales requieren autenticación o acceso a nivel de personal. Esto significa que debe poder designar a alguien como “personal”. Esta puede ser tu primera herramienta. Además, recuerde revocar el acceso cuando la gente se vaya.
– Intente evitar dar a todos acceso de escritura a todo y, definitivamente, evite escribir claramente en la base de datos.

Ahora para la opinión opuesta. Esta podría no ser la llamada correcta para su empresa, en este momento. Dependiendo de varias preocupaciones, puede conectar su aplicación a un CRM, Sales Force, google analytics o alguna herramienta similar. A veces, basta con mejores formas de organizar / acceder / sincronizar datos.

Dicho esto, empoderar al resto del negocio para hacer cosas sin los desarrolladores es una de las cosas más importantes que puede hacer. Te sorprendería cómo algunas personas obtendrán una longevidad increíble y la reutilización de herramientas realmente simples.

En aras de la seguridad, puede crear un módulo separado para el portal de administración. El módulo separado puede tener un subdominio o directorio separado, aislado de la base del código front-end principal, a excepción de las rutinas comunes, por ejemplo, las funciones del algoritmo de hash de contraseña que serán las mismas para los usuarios administrativos y normales. Por supuesto, el nuevo módulo de administración compartirá la misma base de datos para la administración de usuarios, así que asegúrese de diseñar la tabla de usuarios de manera que también se adapte a los usuarios de administración, ya que puede haber múltiples usuarios de administración dependiendo de sus derechos de acceso y permisos. .

Creo que votaría por exponer la funcionalidad a través de API básicas, aislando completamente la interfaz de administración (y permitiendo mashups y reingeniería de la interfaz de forma independiente)

Me imagino que más de un desarrollador trabajando en el mismo sitio web, script o panel podría causar algunos errores, problemas y confusión.
Creo que la mayoría de los desarrolladores preferirían comenzar desde cero y tal vez tener sus propias responsabilidades aisladas, por ejemplo, el área del sitio para trabajar.

Sugeriría mantener el panel lo más simple posible. Primero dibuje en una pizarra blanca, prototipo en una computadora, y solo después de eso – codificado.

More Interesting

¿Hay alguna manera de crear APIs, también conocido como servicio web, en algún idioma definiendo solo los esquemas? ¿Puedo obtener mi función CRUD para que pueda ser consumida por los programas?

Cómo leer datos de una aplicación web y colocarlos en una aplicación usando Blueprism

¿Los usuarios habituales tienen miedo de los inicios de sesión sociales y más bien crean cuentas para pequeñas aplicaciones web?

¿Podemos hacer pruebas de automatización de aplicaciones web móviles en Katalon Studio?

¿Puedo hacer una aplicación web si solo conozco Ruby on Rails?

¿Por qué alguien hizo clic en cada página de mi sitio web?

¿Cuál es la mejor manera de aprender programación web con Python para un novato con un poco de experiencia en este lenguaje?

¿Cuál es el mejor uso del COO de software / aplicación en la gestión de una organización para cumplir sus objetivos KPI y objetivos generales?

¿Cómo resuelven las startups web el problema del huevo y la gallina de tener contenido inicial antes de un lanzamiento público, si la aplicación web se basa completamente en contenido generado por el usuario?

¿Alguna vez será popular Google Apps Marketplace?

¿Cuáles son las amenazas de seguridad más comúnmente ignoradas en el desarrollo web?

¿Qué software de programación de reuniones debo elegir?

¿Cómo se implementa un proyecto django creado en PyCharm en Windows?

¿En qué se diferencia una aplicación web de una página web?

¿Cómo puede ser segura una aplicación web o móvil si está escrita con frameworks controlados por Javascript (Angular, Nodejs ...)?