Skip to content

Latest commit

 

History

History
75 lines (45 loc) · 2.56 KB

File metadata and controls

75 lines (45 loc) · 2.56 KB

Test Task: Advanced FastAPI Service with AI Integration, Dynamic RBAC, and Optional Full Lifecycle Demonstration Objective: Develop a FastAPI microservice that includes:

✅ Sophisticated CRUD operations for user profile management

✅ JWT-based authentication & authorization

✅ A RAG pipeline to process and query large text documents using AI

✅ Dynamic Role-Based Access Control (RBAC) using the Oso framework

✅ Documentation & code submission via GitHub

Optionally, you can also showcase testing & deployment for bonus points.

Task Details:

  1. Microservice Setup & CRUD Operations Implement CRUD operations for managing user profiles.

Features should allow users to register, update, delete, and retrieve their profile securely.

  1. Authentication & Authorization Implement JWT-based authentication for secure user sessions.

Ensure users can only access their own profiles unless they have admin privileges.

  1. AI Model Integration with RAG Pipeline Integrate a RAG (Retrieval-Augmented Generation) pipeline allowing users to upload and query large text documents.

Use AI to generate contextually relevant responses from the document content.

  1. Dynamic Role-Based Access Control (RBAC) with Oso Implement RBAC using the Oso framework to ensure role-appropriate access to endpoints.

Provide endpoints for managing roles & permissions, accessible to admin users.

  1. Documentation & Submission Submit your code via GitHub including all source files.

Include a detailed README with setup instructions, API usage, and deployment steps (if applicable).

(Optional Bonus): If deployed, provide a link to Swagger UI for API interaction.

Deliverables: ✅ GitHub repository containing the source code.

✅ Comprehensive README documenting the setup, usage, and API interaction.

✅ (Optional Bonus) Link to the deployed API’s Swagger UI.

Evaluation Criteria: Functionality, security, and correctness of the features.

Code quality & adherence to best practices.

Clarity & thoroughness of documentation.

(Bonus) API test coverage and successful deployment.

Bonus Points (Recommended but Optional)

  1. Testing: Write comprehensive tests for authentication, CRUD operations, and RAG pipeline using Pytest.

  2. Deployment: Deploy the application to Heroku, AWS, or another cloud platform.

Provide a link to the deployed app, preferably with a Swagger UI for testing API endpoints.

Deadline: 📅 48 Hours from now.

Once you complete the task, please share your GitHub repository link along with any additional details.

Let me know if you have any questions! Looking forward to seeing your work.