Sure, here is a backend assignment for an internship in a web3 company:
Assignment:
● Create a backend API that allows users to create, read, update, and delete
NFTs.
● The API should be implemented using a web3 framework such as Solidity or
web3.js.
● The API should be hosted on a decentralized server such as an IPFS node or
a decentralized cloud platform.
● The API should be secure and use industry-standard security practices.
Instructions:
● The API should have the following endpoints:
○ /nfts: Get a list of all NFTs.
○ /nfts/[id]: Get a single NFT by ID.
○ /nfts: Create a new NFT.
○ /nfts/[id]: Update an existing NFT.
○ /nfts/[id]: Delete an existing NFT.
● The API should use the following security practices:
○ All requests should be authenticated using a JWT token.
○ All sensitive data should be encrypted at rest and in transit.
○ All endpoints should be rate-limited to prevent abuse.
Grading:
Your assignment will be graded on the following criteria:
● Correctness: The API should be implemented correctly and meet all of the
requirements.
● Security: The API should be secure and use industry-standard security
practices.
● Documentation: The API should be well-documented and easy to use.
● Style: The code should be well-written and easy to read.
Submission:
Your assignment should be submitted as a GitHub repository. The repository should
include the following:
● The source code for the API.
● A README file that describes how to use the API.
● A test suite that tests the API.
Deadline:
Your assignment is due on 21st May 2023.