GithubHelp home page GithubHelp logo

chaosknt / .netcore_alkemychallange Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 844 KB

webApp que tiene como objetivo simular sistema web donde los alumnos de una universidad puedan inscribirse a las materias que desean cursar

.netcore_alkemychallange's Introduction

AlkemyChallange

CHALLENGE C# - ALKEMY LABS

Requerimientos

Deberás crear una aplicación en C# utilizando el framework MVC. El objetivo es simular una aplicación web donde los alumnos de una universidad puedan inscribirse a las materias que desean cursar.

Base de datos

Leyendo los requerimientos deberás armar la base de datos que consideres apropiada para que todo funcione correctamente. El tipo de base de datos debe ser relacional, no importa que sea MySQL o SQL Server. Todos los nombres de tablas, columnas, índices deben estar en inglés y usar underscore para separar palabras.

Es necesario que utilices Entity Frameworks para acceder a la base de datos. Registro

En la aplicación hay dos tipos de usuarios: administrador de sitio y alumno. Ambos utilizan el mismo login, especificando si son alumnos o administradores. El administrador podrá gestionar las materias, profesores, cupos de inscripción. El alumno ingresa con su DNI y legajo y podrá seleccionar las materias en las que desea inscribirse. Tomar como premisa que no hay materias correlativas y todos los alumnos regulares se encuentran registrados en la base de datos.

El usuario administrador podrá realizar las siguientes acciones:

Gestionar los Profesores de la Universidad

  • Nombre
  • Apellido
  • DNI
  • Activo

Gestionar las Materias a ofrecer

  • Nombre
  • Horario
  • Profesor
  • Cupo máximo de alumnos

El alumno podrá realizar las siguientes acciones

  • Listar todas las materias que estén disponibles
  • Entrar a la materia, ver la descripción y ver la información de la misma
  • Inscribirse en dicha materia.

Frontend

Puedes llenar las vistas desde el Backend, devolviendo un modelo al View desde el controller, o puedes utilizar librerías como Jquery que realicen las llamadas a los controladores y llenen las vistas.

Rutas y Seguridad

Si un usuario no autenticado intenta acceder a alguna url de la plataforma, deberá ser redirigido al login.

Criterios a Evaluar

Diseño responsive, moderno, intuitivo

Puede ser algo minimalista, sencillo, pero funcional
Se puede usar cualquier framework CSS: Bootstrap, Materialize

  • Conocimientos generales de C#
  • Conocimientos básicos / intermedios de Jquery
  • Correcto uso de los controllers
  • Correcto uso de los modelos, relaciones, atributos
  • Validación de todos los formularios
  • Seguridad
  • Que usuarios alumnos no ingresen a rutas de usuarios administradores
  • Buenas prácticas de codificación
  • Correcto diseño de la base de datos
  • Optimización de las tablas

Bonus

Se requiere que implementes al menos uno de estos puntos (a elección)

1.- En listado de materias

  • Que aparezcan en orden alfabético
  • Mostrar la cantidad de cupos que quedan para inscribirse en cada una

2.- En la inscripción de materias

  • No permitir que un alumno se inscriba en dos materiales cuyos horarios están solapados

3.- Utilizar el Patrón de diseño Unit to Work para los repositorios

.netcore_alkemychallange's People

Contributors

chaosknt avatar

Watchers

 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.