FastAPI Migration: Open-source Dependency-Track

Job ID: 38434872

Budget: ₹12,500 – ₹37,500 INR

We are looking for an experienced Python developer with a strong background in FastAPI to assist us in migrating an open-source Dependency-Track tool to Python. The goal is to create a modern, efficient, and scalable version of the tool using FastAPI. (Please find the swagger doc here : https://dependency-track.crazedencoder.com/api/swagger.json )

Responsibilities:

• Review the existing open-source codebase of the Dependency-Track tool.
• Design and develop a new implementation of the tool using Python and FastAPI.
• Ensure that the new implementation meets all functional and performance requirements.
• Implement appropriate error handling, logging, and documentation.
• Conduct thorough testing to ensure reliability and accuracy of the migrated tool.
• Provide regular updates and progress reports throughout the development process.

Requirements:

• Proven experience in Python development and FastAPI.
• Familiarity with Dependency-Track or similar tools is a plus.
• Strong understanding of software architecture and best practices.
• Experience with Git for version control.
• Ability to work independently and manage time effectively.
• Excellent communication skills.

Deliverables:

1. Project Plan: Detailed plan outlining the migration process, including milestones and timelines.
2. Codebase: Complete Python codebase for the migrated Dependency-Track tool using FastAPI.
3. Documentation: Comprehensive documentation for the new implementation, including setup, usage, and any relevant API endpoints.
4. Testing: Thoroughly tested code with clear instructions for running and validating tests.
5. Deployment Instructions: Clear instructions for deploying the new tool in a production environment.

Milestones:
1. Project Kickoff & Initial Assessment:
• Review the existing codebase and finalize the project plan. (1 week)
2. Design & Architecture:
• Develop a design document outlining the architecture and migration approach. (1 week)
3. Implementation - Phase 1:
• Complete the core functionality of the tool. (2 weeks)
4. Implementation - Phase 2:
• Develop additional features and integrations. (2 weeks)
5. Testing & QA:
• Perform thorough testing and address any issues. (1 week)
6. Documentation & Deployment:
• Prepare documentation and deployment instructions. (1 week)
7. Final Review & Handover:
• Review the final deliverables and provide any necessary support. (1 week)