Skip to content

Servicio REST creado en Django y aplicación Angular para inscripciones a simposio

Notifications You must be signed in to change notification settings

juanguerra97/simposioumg2020

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SimposioUMG 2020

Proyecto para administracion e inscripcion al simposio 2020 de la UMG en Quetzaltenango. Para inscribirse los alumnos deben crear una cuenta e iniciar sesión, luego podrán registrar su pago subiendo la foto del recibo de depósito del banco. Los administradores serán capaces de aceptar o rechazar los pagos registrados de los estudiantes y cuando un pago es aprobado el estudiante podrá inscribirse a las conferencias.

Tecnologías utilizadas

Capturas de pantalla

Pantalla principal

Pantalla de login

Pantalla de registro

Pago aceptado

Ticket valido

Menu de administrador

Ingreso de nueva carrera

Envio de reporte en PDF por correo

Recepcion de correo

Ejecución del backend

  1. Primero debes crear el usuario y base de datos ejecutando el script /backend/simpsium/dbuser.sql.

    Debes tener instalado MySQL y tener una cuenta con permisos para crear usuarios y bases de datos.

  2. Instalar las dependencias del backend

    pip install bcrypt==3.1.7 django==2.2.5 django-allauth==0.41.0 django-cors-headers==3.2.1 djangorestframework==3.11.0 mysqlclient==1.4.6 oauthlib==3.1.0 pillow==7.0.0 qrcode==6.1 requests-oauthlib==1.3.0
    
  3. Debes ejecutar las migraciones. Para esto, abre una terminal, ve al directorio /backend/simposium y ejecuta

    python manage.py migrate
    

    La dirección por defecto de la base de datos es 192.168.10.10. Puedes cambiar la dirección del servidor, usuario y nombre de la base de datos modificando el archivo /backend/simposium/simposium/settings.py

  4. Opcional: Si quieres utilizar la opción de enviar reporte por correo deberás configurar las credenciales del correo del cual se enviarán los correos modificando EMAIL_HOST_USER y EMAIL_HOST_PASSWORD en el archivo /backend/simposium/simposium/settings.py Configuracion de email en settings.py

    NOTA: El correo electrónico debe ser Gmail y la cuenta de Google debe tener configurada la opcion para de Permitir el acceso de apps menos seguras como se muestra a continuacion Configuracion de email en settings.py

  5. Opcional: Si quieres algunos datos de prueba iniciales ejecuta

    python manage.py loaddata datos
    

    Esto creará los siguientes usuarios que se pueden utilizar para iniciar sesión:

    • solomeo@gmail.com que es superusuario(se puede ingresar al admin de django con él) y tiene el rol STAFF y ADMIN.
    • voldemort@gmail.com que tiene el rol STAFF y ADMIN, pero no es superusuario.
    • potter@gmail.com que tiene el rol ASISTENTE, tiene un pago ACEPTADO y un ticket VÁLIDO.
    • hermione@gmail.com que tiene el rol ASISTENTE y ESTUDIANTE, tiene un pago ACEPTADO y un ticket VÁLIDO.
    • malfoy@gmail.com que tiene el rol ASISTENTE y ESTUDIANTE, tiene un pago REEMBOLSADO y un ticket INVÁLIDO.

    La contraseña para todos estos usuarios es simpoUMG20

    La ejecución de este comando borrará los datos de las tablas.

    Puedes ver los datos que se insertan en el archivo /backend/simposium/administracion/fixtures/datos.json

    Si no cargas estos datos podrás ejecutar la aplicación pero no habrá una cuenta de administrador para crear carreras, validar pagos, etc. Por lo tanto deberás crearla desde el admin de django y asignarle el rol STAFF y ADMIN. Los usuarios con el rol ASISTENTE y ESTUDIANTE se pueden crear desde la página de registro.

    NOTA: Si decides crear usuarios ADMIN desde el admin de django deberás crear un usuario:

    python manage.py createsuperuser 
    
  6. Ya puedes ejecutar el servicio REST:

    python manage.py runserver
    

    El servicio estará disponible en http://localhost:8000

Ejecución del frontend

  1. Abre una terminal y ubícate en el directorio frontend e instala las dependencias:

    npm i
    
  2. Si estás ejecutando el backend en una dirección diferente a http://localhost:8000 entonces modifica el valor de la variable apiUrl en el archivo /frontend/src/environments/environment.ts

  3. Ejecuta la aplicación:

    npm start
    

    La aplicación está disponible en http://localhost:4200

About

Servicio REST creado en Django y aplicación Angular para inscripciones a simposio

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 42.8%
  • Python 31.8%
  • HTML 22.8%
  • CSS 2.0%
  • JavaScript 0.6%