Viva prep · Real questions · Student experiences Enroll in Bootcamp

Proctor workspace

Proctor APPDEV_LEVEL1_VIVA3

Share your experience Add your viva experience here
87 Questions
8 Sets
0 Topics
0 Reviews
Tips for this examiner: Normal experience. Not good, not bad. Takes time to think for new questions to ask after u answer previous. No code change asked. Make sure u know your code really well.

Student reviews

No student reviews for this proctor yet.

Approved viva sets

Download all
  1. 1
    Level-1
    Times asked 2
  2. 2
    id..........github collabrator.........demo
    Times asked 2
  3. 3
    What is component?
    Times asked 2
  4. 4
    Why do we need component?
    Times asked 2
  5. 5
    What is refrential integrity?
    Times asked 2
  6. 6
    How you are getting data on frontend? Code on notepad.
    Times asked 2
  7. 7
    Write a query to fetch all doctors of cardiology departments.
    Times asked 2
  8. 8
    Create a route to send the data to frontend (doctors data that I got from query).
    Times asked 2
Advice: The proctor is chill, patient and good. Be confident about your code and have knowledge of same. I think he will he will deep dive more in backend part and ask simple question on frontend.
  1. 1
    Project go through
    Times asked 2
  2. 2
    How to maintain the relational integrity?
    Times asked 2
  3. 3
    What us ORM? and sub questions around it.
    Times asked 1
  4. 4
    Caching implemented ? What is caching and questions around it
    Times asked 2
  5. 5
    Asked to write a hello world route
    Times asked 2
  6. 6
    Asked to create a button tag
    Times asked 2
Advice: Make sure you know your codebase thoroughly, why the way in which code is written the way it is? You should know how to code using flask, vue, html, python
  1. 1
    Have you implemented session-based or token-based authentication?
    Times asked 3
  2. 2
    Where is the token stored?
    Times asked 2
  3. 3
    Purpose of token-based authentication / why do we need a token?
    Times asked 2
  4. 4
    How to maintain referential integrity between tables?
    Times asked 2
  5. 5
    What is a foreign key?
    Times asked 3
  6. 6
    If parent row is deleted, what happens to child rows?
    Times asked 2
  7. 7
    What if ON DELETE CASCADE is not used?
    Times asked 2
  8. 8
    Have you created backend APIs?
    Times asked 3
  9. 9
    Have you implemented caching?
    Times asked 2
  10. 10
    Which tool used for caching (Redis)?
    Times asked 2
  11. 11
    Show where cached data is stored?
    Times asked 2
  12. 12
    Show me where admin is created in the application?
    Times asked 2
  13. 13
    Difference between v-if and v-show?
    Times asked 2
  14. 14
    What is ORM?
    Times asked 49
  15. 15
    Use of anchor tag?
    Times asked 2
  16. 16
    How much AI% used in report?
    Times asked 1
  1. 1
    Project demo..
    Times asked 2
  2. 2
    1-Wat is advantage of vue..
    Times asked 2
  3. 3
    2-Explain full database..
    Times asked 2
  4. 4
    3-Explain foreign key..
    Times asked 2
  5. 5
    4-Where have u used foreign key..
    Times asked 2
  6. 6
    5-Wat is anchor tag..
    Times asked 2
  7. 7
    6-Have u used caching..
    Times asked 2
  8. 8
    7-How much AI% u used..
    Times asked 2
  9. 9
    8-Show me how u have implemented timestamp..
    Times asked 2
  10. 10
    9-Show me manually exporting csv to mail..
    Times asked 2
  11. 11
    10-Explain vue lifecycle hooks..
    Times asked 2
  12. 12
    11-Explain how u used rbac..
    Times asked 2
  13. 13
    12-Which authentication have u used.
    Times asked 2
  14. 14
    13-Show where u have used that..
    Times asked 2
  15. 15
    14- Show me celery demo of daily reminder and monthly reports
    Times asked 2
Advice: Normal experience. Not good, not bad. Takes time to think for new questions to ask after u answer previous. No code change asked. Make sure u know your code really well.
  1. 1
    Level-1
    Times asked 2
    Official solution

    SimpleLevel = viva difficulty band. Level 1 usually demo + basics; higher pe live coding + deeper theory.

    Viva tipJo level assign hai uske hisaab se demo + theory ready rakho.

  2. 2
    id..........github collabrator.........demo
    Times asked 2
    Official solution

    SimpleGitHub repo open karo: commits, collaborators, README. Examiner check karta hai tumne khud kaam kiya.

    Example

    Settings → Collaborators
    Commits: regular messages, last-day dump nahi.

    Viva tipPrivate repo access pehle de do. Main branch submitted ZIP se match honi chahiye.

  3. 3
    What is component?
    Times asked 2
    Official solution

    SimpleComponent = reusable UI piece (navbar, card, form). Props in, events out. Vue SFC ya Jinja macros/includes.

    Viva tipParent-child: props down, emit/$emit up.

  4. 4
    Why do we need component?
    Times asked 2
    Official solution

    SimpleComponent = reusable UI piece (navbar, card, form). Props in, events out. Vue SFC ya Jinja macros/includes.

    Viva tipParent-child: props down, emit/$emit up.

  5. 5
    What is refrential integrity?
    Times asked 2
    Official solution

    Simpletemplate ref $refs OR composition ref() primitive. Two meanings — ask context.

    What is ref in Vue.

    SPA = ek HTML, Vue Router se views, full reload nahi. MPA = MAD1 Jinja har URL naya HTML.

    Vue Router: routes array, router-view, router-link, meta.auth + beforeEach guard. Dynamic /venues/:id$route.params.id.

    Vite/CLI SFC + npm build dist/. CDN script tag, no SFC. Jo tumne use kiya wahi justify. Flask send_from_directory('dist') production pattern.

    Project example: If Options this.$refs.form. If composition ref(0).

  6. 6
    How you are getting data on frontend? Code on notepad.
    Times asked 2
    Official solution

    SimpleCode explain formula: input kya aaya → auth/validation → DB change → response/UI.

    Viva tipFunction signature + 3-4 important lines + edge case.

  7. 7
    Write a query to fetch all doctors of cardiology departments.
    Times asked 2
    Official solution

    Simplefilter manager_id / company name / approved. Same Query API. Write query fetch treks/jobs/drives.

    Examiner project-specific names — same pattern.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Drive.query.filter_by(approved=True)

  8. 8
    Create a route to send the data to frontend (doctors data that I got from query).
    Times asked 2
    Official solution

    SimpleSQLAlchemy filter examiner ke hisaab se. Role/status/date. .all() list, .first() one.

    ilike search. join roles. timedelta days. Empty = []. Password strip serialize.

    Examiner 2 cheezein: simple desi line + tumhare project ki exact file.

    Pehle ID, GitHub, portal ZIP. Phir run: Redis + Flask + worker + beat + Vue. Feature demo: login, RBAC, cache hit/miss, Celery mail, search.

    Line pe ungli: input kahan, kaunsa check, query/cache/task, JSON/UI. Copilot band. Jo nahi kiya honestly bolo + kaise add karte.

    Example

    User.query.filter_by(id=1).first()
    User.query.filter(User.roles.any(Role.name=='admin')).all()
    Booking.query.filter(Booking.created_at > datetime.utcnow() - timedelta(days=5)).all()

    Project example: flask shell ya naya route. Dikhao result JSON.

Advice: The proctor is chill, patient and good. Be confident about your code and have knowledge of same. I think he will he will deep dive more in backend part and ask simple question on frontend.
  1. 1
    Project go through
    Times asked 2
    Official solution

    SimpleDemo script pehle se practice: 5–7 min, Admin + User roles, saare mandatory features.

    Suggested flow1) Register/login user
    2) Admin login — CRUD
    3) Approval/blacklist
    4) Booking/apply + edge case
    5) Search
    6) Logout

    Viva tipBolte-bolte dikhao. Code tab kholna jab poochhein.

  2. 2
    How to maintain the relational integrity?
    Times asked 2
    Official solution

    SimpleCode explain formula: input kya aaya → auth/validation → DB change → response/UI.

    Viva tipFunction signature + 3-4 important lines + edge case.

  3. 3
    Caching implemented ? What is caching and questions around it
    Times asked 2
    Official solution

    SimpleCache = pehli baar hisaab karke copy rakh lo, doosri baar copy dikha do.

    Baar-baar same expensive kaam (DB query, counting bookings) mat karo. Result Redis jaise store mein timeout ke saath rakh do.

    Cache hit: key mil gayi, DB skip. Cache miss: DB se lao, SET karo, return karo.

    Tradeoff: speed vs stale data. Admin naya venue add kare aur cache 50s ka ho to user purani list dekh sakta hai — isliye write pe invalidation zaroori hai.

    Browser cache, Flask-Caching, Redis alag layers hain. MAD2 examiner Redis + @cache.cached code dekhta hai.

    Example

    @cache.cached(timeout=50, query_string=True)
    @app.route('/api/shows')
    def shows():
        return jsonify([s.serialize() for s in Show.query.all()])

    Project example: Admin dashboard counts / venues list cache. Create/update/delete ke baad cache.delete('venues').

    Viva tipprint('DB queried') function ke andar laga ke miss/hit demo karo — hit pe print nahi chalega.

  4. 4
    Asked to write a hello world route
    Times asked 2
    Official solution

    SimpleLive Flask coding: chhota route likho, save, browser/curl se test. Syntax error terminal mein padho.

    Example

    @app.route('/ping')
    def ping():
        return jsonify(ok=True)
    
    @app.route('/even/<int:n>')
    def even(n):
        return 'even' if n % 2 == 0 else 'odd'
  5. 5
    Asked to create a button tag
    Times asked 2
    Official solution

    Simple

    <button type=button> vs submit form. Vue @click. Create a Button tag.

    type important.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: <button class=btn @click=save>

    Project example: <button class=btn @click=save>

Advice: Make sure you know your codebase thoroughly, why the way in which code is written the way it is? You should know how to code using flask, vue, html, python
  1. 1
    Have you implemented session-based or token-based authentication?
    Times asked 3
    Official solution

    SimpleMAD1 mein usually session-based auth: login pe session['user_id'], har request pe verify.

    Example

    session['user_id'] = user.id
    uid = session.get('user_id')
    user = User.query.get(uid)

    Viva tipSECRET_KEY set karo warna session insecure. logout pe session.clear().

  2. 2
    Where is the token stored?
    Times asked 2
    Official solution

    SimpleJWT teen tukde ki signed chitthi: header.payload.signature. Padhi ja sakti hai, badli nahi ja sakti.

    Encoded (Base64) + signed, encrypted nahi (JWE alag). Payload mein password mat daalo — koi jwt.io pe dekh lega.

    Login pe server secret se HMAC (HS256). Har API Authorization: Bearer <token>.
    Expiry exp. Change payload → signature fail → 401.

    Session MAD1 server yaad rakhta. JWT MAD2 client rakhta, server stateless-ish.

    Example

    eyJhbGciOiJIUzI1NiJ9.{"sub":1,"role":"admin"}.signature
    # Authorization: Bearer <token>

    Project example: POST /login → token LS. fetch interceptor header. @jwt_required APIs.

    Viva tipAlgo HS256. Secret env var. jwt.io pe payload dikhao, secret public site pe mat paste.

  3. 3
    Purpose of token-based authentication / why do we need a token?
    Times asked 2
    Official solution

    SimpleAuthentication: tu kaun hai? (login). Authorization: tujhe permission hai? (role check).

    Example

    # auth
    if check_password_hash(user.password, pwd):
        session['user_id'] = user.id
    
    # authz
    if user.role != 'admin':
        abort(403)
  4. 4
    How to maintain referential integrity between tables?
    Times asked 2
    Official solution

    SimpleCode explain formula: input kya aaya → auth/validation → DB change → response/UI.

    Viva tipFunction signature + 3-4 important lines + edge case.

  5. 5
    What is a foreign key?
    Times asked 3
    Official solution

    SimpleForeign key dusri table ke PK ko point karti hai — relationship banati hai.

    Example

    lot_id = db.Column(db.Integer, db.ForeignKey('lot.id'), nullable=False)
  6. 6
    If parent row is deleted, what happens to child rows?
    Times asked 2
    Official solution

    SimplePehle 1-line definition, phir apne MAD1 project mein file dikhao, phir chhota example.

    Suggested flow1) Concept kya hai?
    2) Mere code mein kahan?
    3) Example / demo
    4) Edge case

    Example

    # related file: models.py / routes / template
    # formula: request → check/auth → DB → render/redirect

    Viva tipExact line yaad nahi to honestly related part dikhao. Bluff mat karo.

  7. 7
    What if ON DELETE CASCADE is not used?
    Times asked 2
    Official solution

    SimpleCascade parent delete pe children pe kya ho: delete-orphan related rows hata deta hai.

    Example

    db.relationship('Spot', cascade='all, delete-orphan')

    Viva tipParking lot delete → uske spots/bookings policy clear bolo.

  8. 8
    Have you created backend APIs?
    Times asked 3
    Official solution

    SimpleYes REST. List 5. Postman. Local APIs vs REST: MAD2 REST JSON.

    Did you create backend APIs? Yes examples.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: resources.py.

    Project example: resources.py.

  9. 9
    Which tool used for caching (Redis)?
    Times asked 2
    Official solution

    SimpleRedis fridge pe sticky note hai — poori kitchen (database) kholne ki zarurat nahi.

    Redis in-memory key-value store hai. Data RAM mein rehta hai, isliye disk wale SQLite/Postgres se kai guna tez.

    MAD2 mein Redis do kaam karta hai:
    1) Cache — same venue/show/dashboard JSON baar-baar DB se mat nikaalo.
    2) Celery message broker — Flask task queue mein daalta hai, worker uthata hai.

    Source of truth database hi hai. Redis band ho to cache miss ho jaata hai aur Celery queue ruk sakti hai. Crash pe cache gayab ho sakta hai — isliye important data sirf Redis mein mat rakho.

    Example

    import redis
    r = redis.Redis(host='localhost', port=6379, db=0)
    r.set('venues', json.dumps(data), ex=30)
    print(r.get('venues'))

    Project example: GET /api/venues pehle Redis dekho. Miss pe SQLAlchemy query, phir SET with timeout. Celery worker Redis list se daily reminder uthata hai.

    Viva tipCache ke liye db=1, broker ke liye db=0 rakhna smart hai taaki keys mix na hon. Viva mein redis-cli ping → PONG dikhana strong hai.

  10. 10
    Show where cached data is stored?
    Times asked 2
    Official solution

    Simpledata() local diary. Store school notice board.

    Search query local. Logged-in user store. Persist: store + localStorage together.

    state vs data: similar concept, scope alag.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Example

    // local
    data() { return { q: '' } }
    // global
    this.$store.state.user

    Project example: Login.vue local form fields. this.$store.state.user Navbar.

  11. 11
    Show me where admin is created in the application?
    Times asked 2
    Official solution

    SimpleDemo 5–7 min ki kahani: saari roles, koi milestone skip nahi, bolte-bolte dikhao.

    Examiner list tick karta hai. Crash ho to panic nahi — terminal error padho.

    Code tab kholna jab poochhein. Extra uncommitted features mat dikhana agar portal ZIP mein nahi.

    Suggested flow1) Register/login user
    2) Admin login — CRUD
    3) Approval/blacklist
    4) Booking/apply + edge case
    5) Search + charts
    6) CSV export / email job
    7) Logout

    Project example: Jo statement/parking/jobs/tickets hai uske user+admin journeys.

    Viva tipBol: 'Yahan overbooking rokta hoon'. Mandatory features pehle, polish baad.

  12. 12
    Difference between v-if and v-show?
    Times asked 2
    Official solution

    Simplev-if element DOM se hataata/jodata hai, v-show sirf CSS display toggle karta hai.

    v-if='isAdmin' → false ho to element exist hi nahi. Costly toggle, lekin hidden data DOM mein nahi.
    v-show='open' → display:none. Fast toggle, element hamesha DOM mein.

    Rare condition: v-if. Bar-bar toggle (dropdown): v-show.

  13. 13
    What is ORM?
    Times asked 49
    Official 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.

  14. 14
    Use of anchor tag?
    Times asked 2
    Official solution

    SimpleHTML structure, CSS styling. Templates mein semantic tags + classes. Responsive ke liye viewport + flex/grid/bootstrap.

  1. 1
    Project demo..
    Times asked 2
    Official 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.

  2. 2
    1-Wat is advantage of vue..
    Times asked 2
    Official solution

    SimpleGentle curve, SFC, docs, reactivity, chhota vs Angular. Over React: HTML templates, course.

    Over plain JS: components router ecosystem.

    SPA = ek HTML, Vue Router se views, full reload nahi. MPA = MAD1 Jinja har URL naya HTML.

    Vue Router: routes array, router-view, router-link, meta.auth + beforeEach guard. Dynamic /venues/:id$route.params.id.

    Vite/CLI SFC + npm build dist/. CDN script tag, no SFC. Jo tumne use kiya wahi justify. Flask send_from_directory('dist') production pattern.

    Project example: Justify Vue not React: taught + time.

  3. 3
    2-Explain full database..
    Times asked 2
    Official solution

    SimpleViva wrap-up hai. Short thanks + confirm submission ZIP latest hai.

  4. 4
    3-Explain foreign key..
    Times asked 2
    Official solution

    SimpleForeign key dusri table ke PK ko point karti hai — relationship banati hai.

    Example

    lot_id = db.Column(db.Integer, db.ForeignKey('lot.id'), nullable=False)
  5. 5
    4-Where have u used foreign key..
    Times asked 2
    Official solution

    SimpleForeign key dusri table ke PK ko point karti hai — relationship banati hai.

    Example

    lot_id = db.Column(db.Integer, db.ForeignKey('lot.id'), nullable=False)
  6. 6
    5-Wat is anchor tag..
    Times asked 2
    Official solution

    SimpleHTML structure, CSS styling. Templates mein semantic tags + classes. Responsive ke liye viewport + flex/grid/bootstrap.

  7. 7
    6-Have u used caching..
    Times asked 2
    Official solution

    SimpleCache = pehli baar hisaab karke copy rakh lo, doosri baar copy dikha do.

    Baar-baar same expensive kaam (DB query, counting bookings) mat karo. Result Redis jaise store mein timeout ke saath rakh do.

    Cache hit: key mil gayi, DB skip. Cache miss: DB se lao, SET karo, return karo.

    Tradeoff: speed vs stale data. Admin naya venue add kare aur cache 50s ka ho to user purani list dekh sakta hai — isliye write pe invalidation zaroori hai.

    Browser cache, Flask-Caching, Redis alag layers hain. MAD2 examiner Redis + @cache.cached code dekhta hai.

    Example

    @cache.cached(timeout=50, query_string=True)
    @app.route('/api/shows')
    def shows():
        return jsonify([s.serialize() for s in Show.query.all()])

    Project example: Admin dashboard counts / venues list cache. Create/update/delete ke baad cache.delete('venues').

    Viva tipprint('DB queried') function ke andar laga ke miss/hit demo karo — hit pe print nahi chalega.

  8. 8
    7-How much AI% u used..
    Times asked 2
    Official solution

    SimpleSach % + kahan + kaise verify + kya seekha. Report se contradict mat.

    Boilerplate vs business logic. Examiner process poochta. 'Sab ChatGPT' red flag.

    Verify: docs, run, edge case. Seekha: CORS, JWT exp, beat vs worker.

    Pehle 1-line definition, phir related MAD2 layer (Vue SFC / Flask route / models.py / tasks.py / Redis).

    4-line formula: input kahan se aaya, auth/validation kaunsa, DB ya cache ya Celery, kya return.

    Related mix mat karo — cache ≠ Celery, authentication ≠ authorization, v-if ≠ v-show, Beat ≠ Worker. Follow-up ke liye ek difference ready rakho.

    Project example: Jo number form/PDF mein hai wahi. Example file jo AI se start kiya, khud debug kiya.

    Viva tipExaminer 'kya seekha / kaise check kiya' pe marks. 'Sab ChatGPT' red flag. Jo khud debug kiya woh story ready rakho.

  9. 9
    8-Show me how u have implemented timestamp..
    Times asked 2
    Official solution

    SimpleDemo script pehle se practice: 5–7 min, Admin + User roles, saare mandatory features.

    Suggested flow1) Register/login user
    2) Admin login — CRUD
    3) Approval/blacklist
    4) Booking/apply + edge case
    5) Search
    6) Logout

    Viva tipBolte-bolte dikhao. Code tab kholna jab poochhein.

  10. 10
    9-Show me manually exporting csv to mail..
    Times asked 2
    Official solution

    SimpleSMTP = Simple Mail Transfer Protocol — email bhejne ka standard. Flask-Mail / smtplib se reminders/reports.

    Example

    from flask_mail import Message
    msg = Message('Subject', recipients=[user.email])
    msg.body = 'Hello'
    mail.send(msg)

    Viva tipViva mein MailHog/inbox dikhao. Port 587 TLS common; local pe MailHog 1025.

  11. 11
    10-Explain vue lifecycle hooks..
    Times asked 2
    Official solution

    SimpleLifecycle = component ki zindagi ke stages. API call tab jab DOM ready ho — mounted.

    created: instance bani, this data, DOM nahi. mounted/onMounted: page pe aa gaya — fetch, Chart.js, setInterval.
    updated: data change ke baad. unmounted: cleanup (clearInterval) warna memory leak.

    Dashboards onMounted isliye: canvas/API tab valid. created mein $el nahi.

    Composition: onMounted(() => {}) setup ke andar.

    Example

    export default {
      async mounted() {
        const r = await fetch('/api/venues')
        this.venues = await r.json()
      }
    }

    Project example: Venues.vue mounted fetch list. Clock component unmounted pe interval clear.

    Viva tipcreated: data setup, DOM nahi. mounted/onMounted: $el mil gaya — fetch yahi. Dashboards isliye onMounted use karti hain.

  12. 12
    11-Explain how u used rbac..
    Times asked 2
    Official solution

    SimpleRBAC = Role Based Access Control. Roles (admin/user) se permissions milti hain, har user pe alag list nahi.

    Example

    if current_user.role != 'admin':
        flash('Not allowed')
        return redirect(url_for('user.home'))
  13. 13
    12-Which authentication have u used.
    Times asked 2
    Official solution

    SimpleAuthentication: tu kaun hai? (login). Authorization: tujhe permission hai? (role check).

    Example

    # auth
    if check_password_hash(user.password, pwd):
        session['user_id'] = user.id
    
    # authz
    if user.role != 'admin':
        abort(403)
  14. 14
    13-Show where u have used that..
    Times asked 2
    Official solution

    SimpleDemo script pehle se practice: 5–7 min, Admin + User roles, saare mandatory features.

    Suggested flow1) Register/login user
    2) Admin login — CRUD
    3) Approval/blacklist
    4) Booking/apply + edge case
    5) Search
    6) Logout

    Viva tipBolte-bolte dikhao. Code tab kholna jab poochhein.

  15. 15
    14- Show me celery demo of daily reminder and monthly reports
    Times asked 2
    Official solution

    SimpleDemo script pehle se practice: 5–7 min, Admin + User roles, saare mandatory features.

    Suggested flow1) Register/login user
    2) Admin login — CRUD
    3) Approval/blacklist
    4) Booking/apply + edge case
    5) Search
    6) Logout

    Viva tipBolte-bolte dikhao. Code tab kholna jab poochhein.

Advice: Normal experience. Not good, not bad. Takes time to think for new questions to ask after u answer previous. No code change asked. Make sure u know your code really well.
Maintaine By Lazy IITians Team + IITM BS students Regualr for More data you have