
El proyecto trata de limitaciones específicas:
No debería haber más de una clase de maestros al mismo tiempo.
Debe haber solo un maestro asignado a cada clase durante una conferencia.
Un maestro no puede enseñar más de una materia a una clase.
Cada sujeto se puede asignar a una clase como máximo en un momento.
Las horas de crédito no pueden exceder las horas de contacto.
Solo puede haber una conferencia de un maestro/ materia en una clase por día.
La función de disposición de la conferencia está disponible para permitir a los usuarios decidir cómo múltiples conferencias de un sujeto pueden aparecer en el horario.
El usuario puede definir conferencias máximas por día y los días hábiles por semana.
Windows OS: Windows OS se utiliza para el desarrollo de este proyecto debido a su interfaz fácil de usar.
VSCODE: VSCODE se usa como editor para este proyecto debido a su alta compatibilidad con JavaScript & React.
React.js: la biblioteca React se utiliza para construir el frontend del proyecto debido a su alta escalabilidad y una gran cantidad de herramientas y paquetes para ayudar en el desarrollo.
Nodo: el nodo se utiliza como backend del proyecto para proporcionar servicios de backend-apis.
Express JS: Express.js, se utiliza un marco para el nodo para diseñar las API para el proyecto.
Administrador de paquetes de nodo: NPM se utiliza para manejar las dependencias del proyecto.
Autenticación de Firebase: la autenticación de Firebase proporciona métodos seguros, fáciles de usar y múltiples de inicio de sesión con muchas características esenciales que incluyen olvidar la contraseña y cambiar la contraseña.
Cloud Firestore Base de datos: Cloud Firestore se usa como la base de datos para este proyecto debido a su rendimiento eficiente y muchas características integradas seguras para acelerar el desarrollo y proporcionar una base de datos remota para la aplicación implementada.
Material UI: la interfaz de usuario de material se utiliza como estándar para el interfaz del proyecto debido a su aspecto y simplicidad premium.
Asegúrese de tener las siguientes herramientas, instaladas en su sistema.
Paso 1. Clonar el repositorio: Abra gitbash en su directorio deseado y ejecute el siguiente comando:
git clone https://github.com/seyed-sabbagh/timetable_Uni
Paso 2. Abra dos terminales:
Establezca la ruta del primer terminal en la raíz de la carpeta del proyecto, que tendría /cs311s20pid08 al final de la ruta. Este terminal operará el interfaz del proyecto.
Para el segundo terminal, establezca su ruta en la carpeta de backend , ubicada en el directorio raíz, o puede inicializar su ruta desde el directorio raíz, que tendrá la misma ruta que el primer terminal y luego puede ejecutar el siguiente comando para establecer su ruta a la carpeta de backend.
cd backend
Paso 3. Instale los paquetes/ dependencias NPM requeridos:
Para instalar las dependencias de Frontend y Backend, ejecute el siguiente comando en ambos terminales:
npm install
Asegúrese de ejecutar el comando mencionado anteriormente para ambos terminales sin ningún error.
Paso 4. Ejecute el proyecto:
Ahora, suponiendo que su sistema tenga todas las dependencias necesarias para ejecutar el proyecto, ahora está configurado para ejecutar su sistema.
Ahora para el paso final, ejecute el siguiente comando en ambos terminales para iniciar el proyecto:
npm start
El enlace para la aplicación aparecerá en la terminal frontend.
Por la próxima vez, solo debe seguir los pasos 2 y 4.
En caso de cualquier consulta con respecto a la instalación del proyecto, no dude en dejar un correo a: