-
1
Download the submission from the portal and perform checksum verification.Times asked 2Official solution
SimpleChecksum file ka hash (jaise SHA256) — file change hui ya nahi verify.
Portal pe submitted ZIP ka checksum diya hota hai. Local file ka hash nikaalo, match hona chahiye.
Linux: sha256sum project.zip
Mismatch = galat file / corrupt download. Examiner integrity check karta hai ki tumhari submitted copy hi run ho rahi hai.Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
-
2
Demonstrate the complete application.Times asked 33Official solution
SimpleDemo script pehle se practice karo, 5-7 minute, saari roles.
Suggested flow
1) Register/login user 2) Admin login — CRUD 3) Approval/blacklist 4) Booking/apply 5) Search 6) Validation edge (slots 0, duplicate) 7) Logout
Bolte-bolte dikhao: 'Yahan overbooking rokta hoon'. Code tab kholna jab poochhein.
Crash ho to debug calmly: terminal error, typo, DB path.
Mandatory features skip mat karna — examiner list tick karta hai.Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
-
3
Explain every major functionality of the website.Times asked 1Official solution
Examiner code pe ungli rakh ke poochta hai — panic mat karo, 4-line formula bolo.
1) Yeh file/line kya role hai (model / route / template / config)?
2) Input kahan se aata hai (form, URL <id>, session, JSON)?
3) DB pe kya query/write?
4) Output kya (render_template / redirect / jsonify)?Example
@app.route('/book/<int:id>', methods=['POST']) — logged-in user session se, trek id URL se, Booking add, slots--, redirect history.Unknown line: imports (request, url_for, flash), decorators, if checks, commit — har keyword ka reason ready rakho.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
-
4
Demonstrate the complete workflow (e.g., register staff → admin approval → create trek → assign staff → user books trek).Times asked 1Official solution
SimpleDemo script pehle se practice karo, 5-7 minute, saari roles.
Suggested flow
1) Register/login user 2) Admin login — CRUD 3) Approval/blacklist 4) Booking/apply 5) Search 6) Validation edge (slots 0, duplicate) 7) Logout
Bolte-bolte dikhao: 'Yahan overbooking rokta hoon'. Code tab kholna jab poochhein.
Crash ho to debug calmly: terminal error, typo, DB path.
Mandatory features skip mat karna — examiner list tick karta hai.Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
-
5
Explain the models.py file.Times asked 5Official solution
Simplemodels.py har table ki class hai — columns, PK/FK, relationships. Yeh Model layer hai.
Viva mein file khol ke bolo:
1) Kaunsi classes/tables hain (User, Role-specific, Booking...)
2) Har table ka kaam 1 line
3) Relationships: 1-1 / 1-M / M-M, backref, cascade, lazy
4) Constraints: unique email, nullable, default statusExample skeleton
class User(db.Model): id = db.Column(db.Integer, primary_key=True) email = db.Column(db.String(120), unique=True, nullable=False) role = db.Column(db.String(20), default='user') bookings = db.relationship('Booking', backref='user', cascade='all, delete-orphan')ER diagram: rectangles entities, lines relationships, PK/FK mark. Schema = yahi structure.
Tables create: db.create_all() ya migrations. SQLite file SQL viewer se dikha sakte ho.Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
-
6
Explain MVC architecture using your project.Times asked 3Official solution
SimpleMVC = Model-View-Controller. Code ko 3 hisson mein baant ta hai taaki mix na ho.
Model: data + DB. models.py — User, Trek, Booking classes.
View: jo user dekhta hai. templates/*.html + Jinja.
Controller: beech ka logic. routes / app.py — request lo, model se data, view ko do.Example flow (register):
Browser form POST → Controller register() → User model save → redirect → View dashboard.htmlDraw: Browser → Controller → Model → DB, phir Controller → View → Browser.
ORM na ho to bhi MVC ho sakta hai — Model raw SQL functions ho sakte hain. Structure matter karta hai, library nahi.
MVP/MVVM doosri architectures hain; MAD1 mein MVC expected hai.Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
-
7
What is @app.route() and why is it used?Times asked 1Official solution
Simple@app.route URL ko Python function se jodta hai. @ wala cheez decorator hai.
@app.route('/hello/<name>', methods=['GET']) def hello(name): return f'Hello {name}'Decorator function ko wrap karke extra behaviour deta hai (route register, login_required).
Endpoint generally function name. Path /hello/Ram.
<int:id> type converter — sirf integer. Bina converter string. ID chahiye to int safer.
methods=['POST'] only POST. Default GET.
functools.wraps custom decorator mein original function name/docs preserve karta hai.Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
-
8
If you didn't use an ORM, how does your project still follow MVC?Times asked 1Official solution
SimpleORM = Object Relational Mapping. Database tables ko Python classes/objects se map karta hai, raw SQL kam likhni padti hai.
Bina ORM: cursor.execute('SELECT * FROM user WHERE id=?', [5])
ORM se: User.query.get(5) ya db.session.get(User, 5)Example model
class User(db.Model): id = db.Column(db.Integer, primary_key=True) email = db.Column(db.String(120), unique=True)FaydePython mein soch sakte ho, SQL injection se protection (parameterized), relationships easy, DB switch thoda aasan.
Nuksaancomplex queries slow/abstract, seekhne ki layer extra, kabhi raw SQL phir bhi chahiye.
MAD1: SQLAlchemy (Flask-SQLAlchemy). Tables db.create_all() ya migrations se banti hain.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
-
9
Did you use an ORM? Explain.Times asked 1Official solution
SimpleORM = Object Relational Mapping. Database tables ko Python classes/objects se map karta hai, raw SQL kam likhni padti hai.
Bina ORM: cursor.execute('SELECT * FROM user WHERE id=?', [5])
ORM se: User.query.get(5) ya db.session.get(User, 5)Example model
class User(db.Model): id = db.Column(db.Integer, primary_key=True) email = db.Column(db.String(120), unique=True)FaydePython mein soch sakte ho, SQL injection se protection (parameterized), relationships easy, DB switch thoda aasan.
Nuksaancomplex queries slow/abstract, seekhne ki layer extra, kabhi raw SQL phir bhi chahiye.
MAD1: SQLAlchemy (Flask-SQLAlchemy). Tables db.create_all() ya migrations se banti hain.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
-
10
How did you protect your application from SQL Injection attacks?Times asked 1Official solution
SimpleSQL Injection user input ko SQL bana ke DB hack. ORM/parameterized queries se bachao.
Galat: f"SELECT * FROM user WHERE email='{email}'" # email = ' OR 1=1 --
Sahi: User.query.filter_by(email=email) # bound parameters
Raw: db.session.execute(text('SELECT * FROM user WHERE id=:id'), {'id': i})
Extra: least privilege DB user, input validate, error messages generic.Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
-
11
Explain parameterized SQL queries.Times asked 1Official solution
SimpleSQL Injection user input ko SQL bana ke DB hack. ORM/parameterized queries se bachao.
Galat: f"SELECT * FROM user WHERE email='{email}'" # email = ' OR 1=1 --
Sahi: User.query.filter_by(email=email) # bound parameters
Raw: db.session.execute(text('SELECT * FROM user WHERE id=:id'), {'id': i})
Extra: least privilege DB user, input validate, error messages generic.Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
-
12
Difference between Authentication and Authorization.Times asked 20Official solution
SimpleAuthentication poochta hai "tu kaun hai?", Authorization poochta hai "tujhe yeh kaam karne ki permission hai?"
Authentication: login. Username + password check karke prove karte ho ki tum genuine user ho. Success pe session/token milta hai.
Authorization: uske baad role check. Admin hi parking lot delete kar sakta hai, normal user nahi.Example (Flask):
# Authenticationif user and check_password_hash(user.password, form_password): session['user_id'] = user.id # Authorization if session.get('role') != 'admin': abort(403) # logged in ho, lekin allowed nahiProject example: student login = authentication. Student admin dashboard nahi khol sakta = authorization.
Validation alag cheez hai (form sahi bhara hai ya nahi, jaise age 18+).Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
-
13
Which HTTP methods have you used in your project?Times asked 2Official solution
SimpleHTTP methods batate hain request kya karna chahti hai. Common: GET POST PUT PATCH DELETE.
GETread/fetch. Safe, URL se. Page kholna, search.
POSTcreate/submit. Form, login.
PUTpoora replace/update. Idempotent.
PATCHpartial update.
DELETEhataana.
HEAD: sirf headers. OPTIONS: CORS preflight.
Flask: @app.route('/x', methods=['GET','POST'])
Agar methods na likho to default sirf GET.
HTML form native sirf GET/POST. PUT/DELETE JS/fetch ya hidden _method se.
GET se data fetch ho sakta hai, create nahi karna chahiye. POST se theoretically fetch ho sakta hai lekin cache/semantics galat.
DELETE fetch ke liye nahi. GET POST ka kaam officially nahi karta — side effects GET pe mat rakho.Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
-
14
Explain those HTTP methods.Times asked 1Official solution
SimpleHTTP methods batate hain request kya karna chahti hai. Common: GET POST PUT PATCH DELETE.
GETread/fetch. Safe, URL se. Page kholna, search.
POSTcreate/submit. Form, login.
PUTpoora replace/update. Idempotent.
PATCHpartial update.
DELETEhataana.
HEAD: sirf headers. OPTIONS: CORS preflight.
Flask: @app.route('/x', methods=['GET','POST'])
Agar methods na likho to default sirf GET.
HTML form native sirf GET/POST. PUT/DELETE JS/fetch ya hidden _method se.
GET se data fetch ho sakta hai, create nahi karna chahiye. POST se theoretically fetch ho sakta hai lekin cache/semantics galat.
DELETE fetch ke liye nahi. GET POST ka kaam officially nahi karta — side effects GET pe mat rakho.Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
-
15
What other HTTP methods do you know?Times asked 1Official solution
SimpleHTTP methods batate hain request kya karna chahti hai. Common: GET POST PUT PATCH DELETE.
GETread/fetch. Safe, URL se. Page kholna, search.
POSTcreate/submit. Form, login.
PUTpoora replace/update. Idempotent.
PATCHpartial update.
DELETEhataana.
HEAD: sirf headers. OPTIONS: CORS preflight.
Flask: @app.route('/x', methods=['GET','POST'])
Agar methods na likho to default sirf GET.
HTML form native sirf GET/POST. PUT/DELETE JS/fetch ya hidden _method se.
GET se data fetch ho sakta hai, create nahi karna chahiye. POST se theoretically fetch ho sakta hai lekin cache/semantics galat.
DELETE fetch ke liye nahi. GET POST ka kaam officially nahi karta — side effects GET pe mat rakho.Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
-
16
What is a client? What is a server?Times asked 1Official solution
SimpleClient maangta hai, Server jawab deta hai.
Client: browser (Chrome). HTML/CSS/JS run, request bhejta hai.
Server: Flask app. Route handle, DB query, response.
Request-response: GET /dashboard → Flask HTML return → browser render.
MAD1 project client-server hai kyunki browser aur Flask alag processes hain, HTTP se baat karte hain. Distributed tab kehlata jab kai servers/services alag machines pe hon.Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
-
17
What network protocols do you know?Times asked 1Official solution
Definition style question: 1 line simple Hinglish + project example + mini code.
Template'X ka kaam Y hai. Mere project mein Z jagah use hua.'
Example'Session login state rakhta hai. session[user_id]=u.id login pe, logout pe session.clear().'
Agar topic Vue/Celery/Redis ho aur project mein nahi hai to sach bolo, theory example do.
Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
-
18
What is the purpose of {{ }}?Times asked 1Official solution
Simple{{ }} value print, {% %} logic (if/for), {# #} comment.
{{ user.name }} → HTML mein naam dikhega {% if user.role == 'admin' %} ... {% endif %} → condition {% for t in treks %} {{ t.name }} {% endfor %} → loop {# yeh comment browser mein nahi jaata #}Object access: {{ reservation.spot.lot.name }} — relationship follow karke nested data.
List pass kiya to loop, single object to .field.Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
-
19
What is the purpose of {% %}?Times asked 1Official solution
Simple{{ }} value print, {% %} logic (if/for), {# #} comment.
{{ user.name }} → HTML mein naam dikhega {% if user.role == 'admin' %} ... {% endif %} → condition {% for t in treks %} {{ t.name }} {% endfor %} → loop {# yeh comment browser mein nahi jaata #}Object access: {{ reservation.spot.lot.name }} — relationship follow karke nested data.
List pass kiya to loop, single object to .field.Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
-
20
What is the purpose of {# #}?Times asked 1Official solution
Simple{{ }} value print, {% %} logic (if/for), {# #} comment.
{{ user.name }} → HTML mein naam dikhega {% if user.role == 'admin' %} ... {% endif %} → condition {% for t in treks %} {{ t.name }} {% endfor %} → loop {# yeh comment browser mein nahi jaata #}Object access: {{ reservation.spot.lot.name }} — relationship follow karke nested data.
List pass kiya to loop, single object to .field.Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
-
21
Display the logged-in staff member's name on the staff dashboard.Times asked 1Official solution
Simplecurrent user object template ko do, Jinja se naam print.
@app.route('/staff/dashboard') def staff_dash(): staff = Staff.query.get(session['user_id']) return render_template('staff_dash.html', staff=staff) <h2>Welcome, {{ staff.name }}</h2>Flask-Login: {{ current_user.name }} — context_processor se har template mein user inject ho sakta hai.
Roll/dept extra fields same tarah pass karo.Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
-
22
Display the trek start date and end date on trek cards.Times asked 1Official solution
Yeh list filter/sort/display task hai. Query badlo, template same rakh sakte ho.
rows = Model.query.filter_by(status='approved').order_by(Model.name.asc()).all()Jinja: {% for r in rows %}<tr><td>{{ r.name|upper }}</td></tr>{% endfor %}
{{ rows|length }} count dikhane ke liye.Alphabet sort: order_by(Model.name). Status filter: filter_by(status='pending').
Assigned staff column: relationship se {{ booking.staff.name }}.Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
-
23
Add an Age column to the database.Times asked 1Official solution
Simple 4-step: Model → DB → Form → Route → Template. Yeh sabse common live-coding hai.
1) models.py: age = db.Column(db.Integer, nullable=True)
2) DB: SQLite viewer se column, ya DB delete karke create_all, ya ALTER TABLE user ADD COLUMN age INTEGER; production mein Flask-Migrate.
3) register.html: <input type='number' name='age' min='18' required>
4) route: user.age = request.form.get('age', type=int); commit
5) dashboard: {{ user.age }} admin table mein <td>{{ u.age }}</td>Print terminal: print('AGE', request.form.get('age'))
Phone/city same pattern, String(20). Openings on Drive: integer column + form + create_drive route.Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
-
24
Add the Age field to the registration form.Times asked 2Official solution
Simple 4-step: Model → DB → Form → Route → Template. Yeh sabse common live-coding hai.
1) models.py: age = db.Column(db.Integer, nullable=True)
2) DB: SQLite viewer se column, ya DB delete karke create_all, ya ALTER TABLE user ADD COLUMN age INTEGER; production mein Flask-Migrate.
3) register.html: <input type='number' name='age' min='18' required>
4) route: user.age = request.form.get('age', type=int); commit
5) dashboard: {{ user.age }} admin table mein <td>{{ u.age }}</td>Print terminal: print('AGE', request.form.get('age'))
Phone/city same pattern, String(20). Openings on Drive: integer column + form + create_drive route.Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
-
25
Update the registration route to save the age in the database.Times asked 2Official solution
Simple 4-step: Model → DB → Form → Route → Template. Yeh sabse common live-coding hai.
1) models.py: age = db.Column(db.Integer, nullable=True)
2) DB: SQLite viewer se column, ya DB delete karke create_all, ya ALTER TABLE user ADD COLUMN age INTEGER; production mein Flask-Migrate.
3) register.html: <input type='number' name='age' min='18' required>
4) route: user.age = request.form.get('age', type=int); commit
5) dashboard: {{ user.age }} admin table mein <td>{{ u.age }}</td>Print terminal: print('AGE', request.form.get('age'))
Phone/city same pattern, String(20). Openings on Drive: integer column + form + create_drive route.Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet
-
26
Add business logic so that only users younger than 50 years can register.Times asked 1Official solution
SimpleValidation galat data rok ti hai — frontend turant, backend must.
Frontend: required, min='18', maxlength='8', pattern='(?=.*[A-Z]).{8,}'
Backend example:pwd = request.form.get('password','') if len(pwd) < 8 or not re.search(r'[A-Z]', pwd) or not re.search(r'[0-9]', pwd): flash('Weak password')Haan, regex se password rules ho sakte hain.
Age 18-99, date >= today, slots <= 30 and > 0, confirm password == password, email '@' .
Duplicate username: User.query.filter_by(email=email).first() or unique=True catch IntegrityError.
Past date: if date < date.today(): reject. Negative slots: if slots < 0: reject; book pe available > 0 check.Community answers
No replies yet
No community answers yet
Open My solution to be the first to share yours.
My solution
Not submitted yet