Software Developer (Python) :: Richmond, VA Hybrid :: 12 month at Richmond, Virginia, USA |
Email: [email protected] |
From: Anurag Choudhary, Tek Pyramids [email protected] Reply to: [email protected] Software Developer (Python) Richmond, VA Hybrid 12+ months contract Key skills: Python, SQL, API, CI/CD, Java and preferably GitLab and SQL Alchemy Responsibilities: Set up the project environment: Install required dependencies (Flask, etc.). Set up the basic folder structure (app/, repositories/, factories/, views/). Initialize Flask in app/__init__.py and test a basic endpoint. Implement the repository pattern: Define the Repository interface and implement the in-memory DallasRepository. Include CRUD methods (get_all, get_by_id, create, update, delete). Write unit tests for the repository using pytest. Implement the abstract factory pattern: Define the AbstractFactory interface and implement DallasFactory to create the repository instance. Modify Flask views to use the factory for repository instantiation. Design CRUD API endpoints: Build Flask routes for CRUD operations (GET /items, GET /items/<id>, POST /items, PUT /items/<id>, DELETE /items/<id>). Test using Postman or curl. Enhance the API with error handling: Add custom error messages, 404 handling, and validation for request data (POST, PUT). Implement standardized error responses for invalid input. Test and debug the application: Write comprehensive unit tests for both the repository and Flask routes. Test routes with FlaskClient and debug issues, especially error handling. Document and deploy the API: Write API documentation (routes, data structure, usage). Set up Docker for deployment. Deploy to a cloud service (Heroku, AWS). Optimize for production: Improve API performance, implement security best practices (HTTPS, input sanitization), and set up logging and rate limiting. Optimize query efficiency and move from in-memory storage to databases. Monitor and maintain: Monitor logs, fix bugs, and implement performance monitoring. Add new features (pagination, search), and refactor for scalability as needed. Keywords: continuous integration continuous deployment Idaho Virginia Software Developer (Python) :: Richmond, VA Hybrid :: 12 month [email protected] |
[email protected] View all |
Thu Nov 21 04:07:00 UTC 2024 |