The UFRGS Bridge is a proposed software system designed to manage, organize, and simplify extension activities and projects at UFRGS. It aims to provide an engaging environment for undergraduate students, professors, and administrative staff. This initiative addresses a need at UFRGS, where 10% of students' graduation hours must be dedicated to extension projects. However, the current system used by the institution is outdated and lacks user-friendliness and accessibility.
This software was created during the Software Engineering () course at UFRGS taught by Prof. Dr. Lucineia Heloisa Thom.
First, you must have Django and NPM already installed, then:
Install dependencies if not up to date
pip install -r requirements.txt
After editing any API files, run the command:
python manage.py makemigrations
Then, to apply the migrations created, do:
python manage.py migrate
Next, run the server:
python manage.py runserver
Now, for the front-end part, run:
npm install web
npm run dev
api
|_ models.py
|_ views.py
ufrgs-bridge
|_ settings.py
web
|_ components
|_ Auth.js
|_ HomePage.js
|_ ProfilePage.js
This folder is the core of the API and controls the logic of the back-end.
This file defines the database models and the structure of the data that the application will manage. It acts as the foundation for the data layer in the MVT (Model-View-Template) architecture.
This file acts as the View in the MVT Architecture. It is responsible for handling the logic behind each web request, interacting with the models, and formatting the data coming from the database to be rendered by the templates.
This folder contains all the general configurations and settings that affect both the back-end and front-end. It includes settings related to the entire project, such as middleware, installed apps, and other configurations.
This folder contains everything needed to display what the user should see, acting as the Template in the MVT architecture.
This subfolder contains React components that structure the front-end views.
This component manages user authentication, including login and registration forms.
This component renders the homepage of the application, displaying relevant information and links based on the user's role and permissions.
This component displays and allows editing of the user's profile information, such as name, email, and other personal details.