Job Description:
We are seeking a highly skilled and motivated Django backend developer with knowledge of Web3 technologies to join our dynamic team. This role requires someone who can not only excel at back-end development using Django and its REST framework but also integrate blockchain-based technologies into our applications.
Responsibilities:
- Develop and maintain the backend of web applications using Django.
- Ensure adherence to Django conventions and optimal code structures.
- Implement clean, efficient, and well-documented code.
- Create and maintain API endpoints using Django REST framework, with detailed Swagger API documentation.
- Work collaboratively with other developers and team members in an agile environment.
- Deploy and manage applications on AWS, with a strong understanding of Docker for containerization.
- Implement authentication and user management via Web3 technologies, utilizing Ethereum wallets for login procedures.
Key Qualifications:
- Profound expertise in Django and Django REST framework.
- Experience with Swagger or similar tools for API documentation.
- Familiarity with Docker and AWS deployment strategies.
- Understanding of or experience with Web3 and blockchain technologies, particularly Ethereum.
- Strong communication skills and the ability to clearly understand project requirements.
Assignment for Evaluation:
Candidates will be required to complete a preliminary assignment to demonstrate their capabilities:
- Development of a Django REST Framework project with two specific APIs:
1. /auth/login API:
- Users sign a message with their Ethereum wallet and submit the signed message, signature, and public wallet address.
- The API verifies the signature and address, issuing a JWT token upon successful verification.
- New users are automatically registered with their public address serving as the username.
- Includes a refresh token mechanism to issue new JWT tokens.
2. /users/me API:
- A protected route that returns user details if a valid JWT token is provided, or a 401 error if not.
- Documentation: Both APIs should be thoroughly documented using Swagger.
Additional Information:
- To assist with the signing process, candidates may use the MyCrypto website: [MyCrypto Sign Message Tool](https://app.mycrypto.com/sign-message).
Location: Anywhere
Posted: Sept. 6, 2024, 10:25 a.m.
Apply Now Company Website