Qué base de conocimiento se requiere para hacer una aplicación web

Fuente de control

Antes de aprender algo más, primero debe aprender a usar una herramienta de control de código fuente como Git. Se alegrará de haberlo hecho la próxima vez que edite un montón de código y luego decida que no le gustan los cambios y que desea volver a cómo estaban antes de realizarlos. Vea también mi publicación de blog ¿Realmente necesito control de versiones?

Sistema de inicio de sesión

Quiero ser claro aquí: NO DEBE IMPLEMENTAR UN SISTEMA DE INICIO DE SESIÓN. Veo cientos de publicaciones de desarrolladores novatos que intentan codificar un sistema de inicio de sesión, pero terminan escribiendo código que es totalmente inseguro. Confía en mí: en tu nivel de experiencia actual, no estás listo para codificar un sistema de inicio de sesión seguro. La codificación de un sistema de inicio de sesión inseguro pone en peligro a sus usuarios.

En cambio, aprenda cómo permitir la autenticación en Facebook o Google, que son dos proveedores populares de autenticación OAuth2. De esa manera, no tiene que implementar un sistema de inicio de sesión, simplemente se apoya en el suyo. Cualquier aplicación web puede hacer esto. Aquí hay tutoriales:

  • Descripción general de la autenticación | Biblioteca de cliente API para Python (Google)
  • web2py – Control de acceso (menciona la integración con la autenticación de Facebook)

Gráficos personalizados

Para esto, recomiendo D3.js – Documentos basados ​​en datos en Javascript. Es utilizado por muchas de las mejores aplicaciones de visualización de datos. Ver ¿Qué compañías están usando d3.js en producción? Por supuesto, tendrá que aprender JavaScript para usarlo.

Almacenamiento de datos

Deberá aprender SQL para almacenar datos en bases de datos. En Python, use SQLAlchemy: The Database Toolkit for Python.

Prefiero MySQL como la base de datos, es relativamente fácil de instalar y usar.

A algunas personas les gusta PostgreSQL, es un buen producto pero un poco más complejo de usar.

Otra base de datos gratuita es SQLite, pero esta es una base de datos de un solo usuario, por lo que no es realmente adecuada para una aplicación web real, que generalmente necesita admitir múltiples solicitudes de usuarios concurrentes.

¡Mira! Aquí hay una clase de Coursera para Python, SQL y D3: Uso de bases de datos con Python – Universidad de Michigan | Coursera. Usan SQLite, pero está bien, las habilidades de SQL son transferibles a MySQL o PostgreSQL.

En los últimos años, se ha puesto de moda hablar de bases de datos “NoSQL”, que al principio suenan más fáciles que SQL, pero en realidad son más difíciles de usar correctamente.

Como estás graduado en ciencias de la salud, te recomendaría R y shiny. Puede omitir todas las habilidades que tiene en mente y centrarse en sus datos. El inicio de sesión de usuario puede ser un poco complicado, pero puede trabajar en eso. De todos modos, no estará programando su administración de usuarios (ya que es un problema altamente estandarizado con algunas complejidades involucradas).

Si no, trate de describir sus objetivos un poco mejor para que alguien pueda recomendarle el mejor marco para su problema específico, ya que la aplicación web es un poco amplia para lo que usted menciona. Probablemente un motor como WordPress con algunos complementos para visualizar datos será suficiente y se puede configurar en unas pocas horas.