Download the project from the portal, verify the checksum, and run it.
3
Demonstrate the application and explain its features.Test edge cases.
4
Perform core workflows such as:
Login as Admin.
Add/Edit Treks.
Create and approve Staff.
Assign Treks to Staff.
Login as Trekker and book a Trek.
Change Trek status as Staff.
5
Explain models.py.
6
Explain the frameworks used in your project.
7
What are Flask Blueprints?
8
Have you implemented Blueprints in your project?
9
What is ORM? Which ORM have you used?
10
Explain Delete Cascade.
11
What is RBAC (Role-Based Access Control)?
12
How have you implemented RBAC in your project?
13
Explain HTTP Methods.
Difference between POST and PUT.
14
Give an example of POST from your project.
15
Is POST idempotent? Is PUT idempotent? Explain.
16
Add a new column to display the Assigned Staff in the Trekker's All Bookings page.
Show ID card.
Verify GitHub collaborator/checksum.
2
Download the project from the Viva portal and run it.
3
Demonstrate all mandatory functionalities:
Register Company.
Approve Company.
Create Placement Drive.
Approve Placement Drive.
Register Student.
Apply for a Drive.
Blacklist Company and verify whether it can log in again.
4
Explain the overall project/codebase.
5
Explain your models.py.
6
Explain a specific line/portion of code and its logic.
7
Explain the significance of a particular line of code.
8
Explain how data is sent from the backend to the frontend.
9
Write a controller/route to fetch all companies and send them to an HTML template.
10
Explain Blueprints and why they are used.
11
Explain Flask-WTF and why it is used.
12
What is Jinja2?
Where have you used Jinja2 in your project?
13
Why is Jinja2 needed? What would be harder without it?
14
Write the Jinja loop to iterate through the fetched company records.
15
Explain the MVC architecture and how it is applied in your project.
16
Which ORM have you used?
17
Explain HTTP Methods.
Difference between PUT and PATCH.
18
What is CORS?
19
Did you build the project yourself or use AI? If AI was used, explain where and how you used it.
Write a controller to:
Show all blacklisted students.
Show blacklisted companies.
Show drives that are not approved and whose job title is Data Scientist.
Fetch filtered data from a table.
4
Explain your routes/controllers.
5
Explain an unknown line of code.
6
Understand when to use render_template() vs redirect().
7
Write Jinja syntax to display data (e.g., description and eligibility).
8
What is Jinja2, and why is it used?
9
Explain the data types in Jinja:
{% for d in drives %} → d is an object.
render_template(..., drive=drives) → drive is a list of objects.
10
Explain the MVC architecture.
11
What is HTTP?
Difference between PUT and PATCH.
12
Explain how you used AI while developing the project and justify your understanding of the code.
Introduce yourself.
Show your ID card.
Download the project from the portal and run it.
Demonstrate the complete application.
Explain whether you built the project yourself or used AI assistance.
2
Explain the overall project structure and working.
3
Summarize the entire app.py.
Explain __init__.py.
4
Explain the complete flow of the Staff Dashboard (app.py + HTML templates).
5
Explain the Staff Login route in detail.
6
Explain any Update and Delete (CRUD) route.
7
During route explanations, justify every important keyword/function used and why it is needed.
8
Explain models.py in detail.
9
Explain the database relationships.
10
Difference between backref and back_populates.
11
What is Cascade and how does it work?
12
Where have you implemented these relationships in your project?
13
What alternatives could be used instead?
14
Explain how Authentication and Authorization are implemented in your project (with code).
15
Explain Session management.
16
How do you prevent unapproved staff from logging in?
17
Explain the validations implemented in your application and how they work.
18
Add a new field to the Admin Navbar displaying the Staff Name and Location for all treks.
19
Improve the UI using Bootstrap to make the added section look cleaner.