Hubo un proyecto con el que jugué un poco pero que hace mucho que abandoné. Es posible que pueda completarlo y lanzarlo como código abierto, además de cumplir con los requisitos de su tarea de clase.
Muchas organizaciones mantienen listas de correo … especialmente para noticias y alertas críticas. Quieren un flujo de trabajo para controlar cómo se envían los mensajes a dichas listas y para asegurarse de que siguen una plantilla o formato dado; quizás también requiera que los mensajes de una lista dada sean revisados, revisados y aprobados por terceros adicionales.
Entonces, escriba una aplicación web que permita al usuario crear y administrar plantillas (sugeriría el motor de plantillas Jinja2 de Python), crear y administrar listas de correo (sugeriría SQLAlchemy de Python con pruebas para SQLite3 y MySQL (y / o PostgreSQL) ) y posiblemente tenga su interfaz de código para un sistema de administración de listas de correo electrónico existente (sugeriría GNU Mailman, que también está en Python).
- ¿Cuál es la mejor manera de aprender Node.js?
- Cómo ser el mejor equipo de TI como persona soltera
- ¿Qué lenguajes son esenciales para la programación web? ¿Cuánto tardan en dominar estos idiomas?
- ¿ASP.NET es algo que debes aprender como desarrollador web front-end?
- ¿Puedo crear saltos de página automáticos cada tantos caracteres en un libro electrónico EPUB usando CSS?
La interfaz de usuario principal simplemente debe presentar un inicio de sesión y una lista de las listas de correo a las que un usuario determinado tiene acceso de publicación. La selección de uno de ellos debería ofrecer una plantilla para completar. Completar eso debería activar la notificación de revisión / aprobación (tal vez por correo electrónico y / o SMS).
Los aprobadores deben iniciar sesión a través de la misma interfaz de usuario. Deberían recibir una lista de todos los mensajes / anuncios / alertas que estén pendientes de aprobación en la parte superior de su página de inicio posterior al inicio de sesión; y, por supuesto, una lista de cualquiera de las listas en las que podrían iniciar una publicación a continuación (al igual que con cualquier otro usuario).
Una opción que debe tener es implementar la política que cada mensaje necesita revisión. Si un aprobador designado intenta enviar un mensaje a alguna lista con esta configuración habilitada, entonces algún * otro * aprobador (o un mínimo de n-otros aprobadores) debe aprobar el mensaje que se enviará.
En cuanto al lenguaje de programación: sugeriría Python con cualquiera de Bottle, Flask, Django o Turbogears como marco.
Su modelo de base de datos debe incluir tablas de listas, una tabla de destinatarios / suscriptores, una tabla de uniones M: N de membresías de listas / destinatarios, una tabla de usuarios de aplicaciones, una tabla de aprobadores de uniones M: N, probablemente una tabla de plantillas ( con otra unión M: N o quizás solo 1: N que relaciona plantillas con listas, dependiendo de si desea que las plantillas se puedan compartir / reutilizar entre múltiples listas de distribución.
También deberá admitir algunas funciones administrativas para agregar usuarios, listas, plantillas, etc.