0% found this document useful (0 votes)
1 views4 pages

Python Full Stack Assignment (AI)

Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1 views4 pages

Python Full Stack Assignment (AI)

Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Assignment: AI-Powered Task & Knowledge

Management System
Duration: 2–3 Days

Objective
Build a minimal working system (MVP) where:

●​ Admin uploads documents and assigns tasks


●​ Users search documents using AI and complete tasks

We are evaluating your ability to design systems, not just write code.

Problem Statement
Create a system where:

●​ Admin builds a knowledge base (documents)


●​ Users use AI-powered search to find answers
●​ Users complete assigned tasks using that knowledge

Mandatory Requirements (MUST HAVE)


1. Authentication & RBAC

●​ Implement JWT authentication


●​ Roles:
○​ Admin
○​ User
●​ Protect APIs based on role

2. Database (MySQL Mandatory)

Design proper relational schema with PK/FK

Minimum tables:

●​ users
●​ roles
●​ tasks
●​ documents
●​ activity_logs

3. Document Upload

●​ Upload .txt files (PDF optional)


●​ Store document metadata
●​ Prepare data for AI processing

4. AI Feature (Core Requirement)

Implement semantic search:

●​ Convert text → embeddings


●​ Store in vector DB (FAISS/Chroma)
●​ Query → embedding → retrieve results

Do NOT rely only on LLM APIs​


Core logic must be implemented

5. Task Management

●​ Admin:
○​ Create and assign tasks
●​ User:
○​ View tasks
○​ Update status:
■​ Pending → Completed

6. Dynamic Filtering API

At least one API must support filtering:

Example:

●​ /tasks?status=completed
●​ /tasks?assigned_to=1

7. Activity Logging (Mandatory)

Track key actions:

●​ Login
●​ Task update
●​ Document upload
●​ Search
8. Basic Analytics

Show at least:

●​ Total tasks
●​ Completed vs pending
●​ Most searched queries (or count)

Required APIs
●​ /auth/login
●​ /tasks
●​ /documents
●​ /search
●​ /analytics

Constraints (VERY IMPORTANT)


●​ Use Python (FastAPI or Django) for backend
●​ Use [Link] for frontend
●​ Use MySQL (with relationships)
●​ Implement JWT authentication
●​ Implement RBAC
●​ Implement embedding-based search
●​ Write clean, structured, scalable code

Evaluation Criteria
We will evaluate your work based on:

Backend (Python / FastAPI)

●​ API design
●​ Clean architecture
●​ Proper use of models, services, and controllers
●​ Database design (relations, normalization)

Frontend ([Link])

●​ UI structure and usability


●​ API integration
●​ State management
●​ Clean component design
AI Implementation

●​ Correct use of embeddings


●​ Semantic search quality
●​ Vector DB usage (FAISS/Chroma)
●​ Not over-relying on external APIs

Overall Code Quality

●​ Readability
●​ Folder structure
●​ Naming conventions
●​ Maintainability

Submission
●​ GitHub repository
●​ README:
○​ Setup steps
○​ Tech stack
○​ Short explanation

You might also like