This repository contains the full implementation of the TCC (Final Graduation Project) Management System, developed as my undergraduate thesis and one of my most ambitious solo projects.
The system is divided into frontend and backend components.
Below you will find setup instructions for running the project locally, prepared for testing, development, and academic demonstration purposes.
The frontend is built with Next.js, PrimeReact, TailwindCSS, and other modern libraries.
Follow the steps below to run the user interface locally.
Open a terminal and run:
cd frontendMake sure you are in the project root (
/MeuTCC-IFRS-Restinga) before running this command.
Run:
npm installThis installs all required frontend dependencies.
After installation, start the frontend using:
npm run devThe application will be available at:
http://localhost:3000
The interface will load correctly only when the backend server is running.
The backend was developed using Django 5, with integration for Google Drive, Google Authentication, and other academic workflow tools.
Follow these steps to set it up locally.
Open a terminal and run:
cd backendMake sure you are in the project root (
/MeuTCC-IFRS-Restinga) before running this command.
Ensure Python is installed, then execute:
pip install -r requirements.txt- Open the
meutcc/directory. - Duplicate the file
env_example_settings.pyand rename it toenv_settings.py. - Fill in the following fields with your own credentials:
GOOGLE_OAUTH2_CLIENT_ID = ""
GOOGLE_OAUTH2_CLIENT_SECRET = ""
GOOGLE_OAUTH2_REDIRECT_URI = ""
AUTH_FRONTEND_URL = ""
AUTH_ERROR_FRONTEND_URL = ""
GOOGLE_OAUTH2_SCOPE = [
'openid',
'https://www.googleapis.com/auth/userinfo.email',
'https://www.googleapis.com/auth/userinfo.profile'
]
GOOGLE_DRIVE_OAUTH2_CLIENT_ID = ""
GOOGLE_DRIVE_OAUTH2_CLIENT_SECRET = ""
GOOGLE_DRIVE_OAUTH2_REDIRECT_URI = ""
GOOGLE_DRIVE_OAUTH2_SCOPE = [
'openid',
'https://www.googleapis.com/auth/userinfo.email',
'https://www.googleapis.com/auth/userinfo.profile',
'https://www.googleapis.com/auth/drive.file'
]
GOOGLE_DRIVE_CREDENTIALS_JSON = '''{ ... }'''Run the following commands to apply migrations:
py manage.py makemigrations
py manage.py migrateUse the custom command included in the project:
py manage.py setup_test_enviromentThis command runs seed scripts that generate simulated data for users, courses, professors, students, and other essential entities for testing and demonstration.
Once the environment is configured, run the backend and frontend simultaneously in separate terminals.
From the /backend directory, run:
py manage.py runserverThe backend will be available at:
http://127.0.0.1:8000
With the backend running, open another terminal, navigate to /frontend, and execute:
npm run devThe frontend will be available at:
http://localhost:3000
If you wish to contribute, suggest improvements, or report bugs, please open an issue in this repository.
Contributions and feedback are welcome, especially from academic collaborators or developers interested in educational management systems.
Author: Matheus Machado
Undergraduate Thesis — IFRS Campus Restinga
GitHub @mmachado77