Rust API development using PostgresSQL and AWS Cognito
Budget: $50 – $500 CAD
Seeking an experienced Rust developer to create a RESTful API for an authentication system. The API will be built using the Rust programming language and will utilize PostgreSQL as the database backend. The system will integrate with AWS Cognito for authentication services, ensuring a secure and scalable solution.
Key Requirements:
Language and Frameworks:
Primary language: Rust
Rust Framework: Rocket
ORM: Diesel for database interactions
Database:
PostgreSQL: Design and implement the database schema required for user management and authentication.
Authentication:
Integrate AWS Cognito for handling user authentication, registration, and password management.
Implement JWT (JSON Web Tokens) for secure communication between the client and the server.
REST API Standards:
Follow RESTful principles for API design, ensuring endpoints are logically structured and use appropriate HTTP methods (GET, POST, PUT, DELETE).
Implement proper status codes and error handling to provide clear feedback to the client.
Secure API endpoints using HTTPS and middleware for authentication and authorization.
Testing:
Write comprehensive unit and integration tests to cover all API endpoints and business logic.
Use Rust's built-in testing framework for writing and executing tests.
Documentation:
Provide detailed API documentation using tools like Swagger or Postman for easy understanding and integration by frontend developers or external consumers.
Version Control:
Use Git for version control and GitHub for repository hosting.
Deliverables:
Source code for the Rust API, following best practices in Rust programming.
Database schema and migration scripts for PostgreSQL.
Comprehensive test suite covering all critical paths.
API documentation accessible via a web interface or as a downloadable document.
A deployment guide or script for setting up the API in a production environment.
Evaluation Criteria:
Adherence to project requirements and REST API standards.
Quality and readability of the code.
Performance and scalability of the API.
Coverage and effectiveness of the test suite.
Clarity and usefulness of the documentation.
Key Requirements:
Language and Frameworks:
Primary language: Rust
Rust Framework: Rocket
ORM: Diesel for database interactions
Database:
PostgreSQL: Design and implement the database schema required for user management and authentication.
Authentication:
Integrate AWS Cognito for handling user authentication, registration, and password management.
Implement JWT (JSON Web Tokens) for secure communication between the client and the server.
REST API Standards:
Follow RESTful principles for API design, ensuring endpoints are logically structured and use appropriate HTTP methods (GET, POST, PUT, DELETE).
Implement proper status codes and error handling to provide clear feedback to the client.
Secure API endpoints using HTTPS and middleware for authentication and authorization.
Testing:
Write comprehensive unit and integration tests to cover all API endpoints and business logic.
Use Rust's built-in testing framework for writing and executing tests.
Documentation:
Provide detailed API documentation using tools like Swagger or Postman for easy understanding and integration by frontend developers or external consumers.
Version Control:
Use Git for version control and GitHub for repository hosting.
Deliverables:
Source code for the Rust API, following best practices in Rust programming.
Database schema and migration scripts for PostgreSQL.
Comprehensive test suite covering all critical paths.
API documentation accessible via a web interface or as a downloadable document.
A deployment guide or script for setting up the API in a production environment.
Evaluation Criteria:
Adherence to project requirements and REST API standards.
Quality and readability of the code.
Performance and scalability of the API.
Coverage and effectiveness of the test suite.
Clarity and usefulness of the documentation.