Job Listings

Full-time Django and Web3 Backend Developer - Contract to Hire

Upwork

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