This project is a proposed interface for the Inatel academic portal.
Project Description • Layout • Functionalities • Technologies • Run the Project • Authors
The project's objective is to develop a complete application (backend, web and mobile). In the mobile application we have the student's academic portal and on the web, in addition to having the student part, we also have the teacher and administrator part. Both applications use the same backend.
The project is being developed in:
- Backend: Node.js and MongoDB
- Web: React
- Mobile: Flutter
In addition, some software engineering techniques were applied:
- Unit Tests: created in backend using Jest
- End-to-end Tests: created in frontend using Cypress
- Continuous Integration (CI): used in backend with Github Actions
The application layout is available on Figma:
The application is divided into 3 parts:
-
Student:
- Login
- Class Schedule
- Class Material
- Grades
- Frequency
- Academic Record
- Academic Coefficient
- Exam Dates
- Class Replacement
- Teacher's Office Hours
- Profile
- Matriculation
-
Teacher:
- Login
- Class and office hours schedules
- Publish Class Material
- Publish Grades
- Publish Frequency
- Profile
-
Admin:
- Login
- Register Student
- Register Teacher
- Register Exam Date
- Register Class Reposition
- Profile
The application has the following features:
- Login
- Class Schedule
- Class Material
- Grades
- Frequency
- Academic Record
- Academic Coefficient
- Test Date
- Class Replacement
- Teacher's Office Hours
The following tools were used in the construction of the project:
We can consider this project as being divided into three parts:
- Back-end
- Front-end
- Mobile
Before you begin, you'll need to have the following tools installed on your machine: Node.js and MongoDB. In addition, it's good to have an editor to work with the code like VSCode.
API in Node.js that provides communication with the MongoDB bank and is consumed by the web and mobile.
# Clone this repository
$ git clone https://github.com/NathalyaStefhany/Portal-Academico.git
# Access the project folder in your terminal/cmd
$ cd Portal-Academico
# Go to the back-end application folder
$ cd backend
# Install the dependencies
$ npm install
# At the first time, it's necessary to run this command
$ npm run typeorm migration:run
# Run the server in development mode
$ npm run dev
# The application will run on the port: 3333
Developed with React.
# Clone this repository
$ git clone https://github.com/NathalyaStefhany/Portal-Academico.git
# Access the project folder in your terminal/cmd
$ cd Portal-Academico
# Go to the front-end application folder
$ cd frontend
# Install the dependencies
$ npm install
# Run the application in development mode
$ npm run start
# The application will open on the port: 3000
# Go to http://localhost:3000
Developed with Flutter.
# Clone this repository
$ git clone https://github.com/NathalyaStefhany/Portal-Academico.git
# Access the project folder in your terminal/cmd
$ cd Portal-Academico
# Go to the mobile application folder
$ cd frontend
# Install the dependencies
$ flutter pub get
# Run the application in development mode
$ flutter run
# The application will open on the device you have chosen to run it on
- Web and Mobile: Nathalya Stefhany (Entre em contato!)
- Backend: Renan Dias (Entre em contato!)