Challenges/Computing For All/General/Building Reliable APIs

    Building Reliable APIs

    Design and explain a simple REST API for a task tracking application

    API Design
    REST
    Software Engineering
    Backend Development
    Testing, Entry Level
    Estimated Time:
    30 minutes
    Difficulty:Beginner
    Status:Not started
    Start this challenge

    Create a free account to upload your work. Your progress saves as a draft until you submit.

    What You'll Be Doing

    You're building a simple REST API for a small "Task Tracker" web app where users can create, read, update, and delete their tasks (title, status, due date).

    Scenario: "The Task Tracker API"

    Design the basic structure for the API (routes, request/response format), explain how you'd handle errors, and describe one simple test case.

    Example:

    • GET /tasks → returns list of user tasks
    • POST /tasks → creates a new task with title + due date

    Record a video walking through your API design and reasoning. You'll also submit a written document outlining your endpoints and testing approach.

    Challenge Guidelines

    Challenge Rules

    Time Limit: 30 minutes total

    • Video recording: 5-7 minutes
    • Written artifact: 1 page maximum
    • Review and submission: Remaining time

    Resources Allowed:

    • You may reference REST API documentation or tutorials
    • You may use AI tools for ideas (must be disclosed)
    • You may reference your own notes or class materials

    Individual Work:

    • This must be your own original design
    • Your video should show your thinking process

    Video Requirements:

    • 5-7 minutes total length
    • Clear audio quality
    • Address both sections (Introduction and Challenge Response)

    Important:

    • Focus on clarity and reasoning, not complex code
    • You don't need to write actual code—just explain your design
    • Simple, clear answers are better than overly complex ones

    AI Usage Declaration: Disclose if you used any AI tools (what prompts, how you edited output)

    Video Requirements (5-7 minutes total)

    1. Introduction (1-2 minutes) Share one example of a time you built something—even a small feature or class project. What did you learn?

    2. Challenge Response (3-5 minutes) Walk through your API design:

    • What are your main endpoints?
    • How would you handle errors or invalid input?
    • Describe one simple test case

    What You'll Accomplish

    Design basic RESTful API endpoints with logical routes

    Think through error handling and input validation

    Describe simple test cases to verify functionality

    Communicate technical ideas clearly

    How Your Work Will Be Scored

    Technical Clarity -40 pointsProblem-Solving -30 pointsCommunication-20 pointsAI Usage Transparency-10 points

    What to Submit

    Submission Guidelines

    Submit the following two deliverables:

    Deliverable 1: Video Response File Name: CFA_SoftwareEng_Video_[YourName].mp4

    Requirements:

    • 5-7 minutes total
    • Address both sections: Introduction and Challenge Response
    • Clear audio quality
    • File format: MP4, MOV, or any standard video format

    Deliverable 2: Written Artifact - API Design & Testing File Name: CFA_SoftwareEng_Design_[YourName].pdf or .docx

    Requirements:

    • 1 page maximum
    • List main endpoints and what each does
    • Show example request/response for one endpoint
    • Describe how you'd test and handle errors
    • Note any assumptions (e.g., auth, validation)
    • Must include AI Usage Declaration

    AI Usage Declaration (required): ☐ I did not use any AI tools ☐ I used AI tools (briefly describe how, including prompts and edits)

    API Design Document

    Document · 1 page maxRequired

    Format: .pdf, .doc, .docx, .rtf, .txt, .md

    Create a 1-page document covering your API design:

    Required content:

    • List main endpoints and what each does
    • Show example request/response for one endpoint
    • Describe how you'd test and handle errors
    • Note any assumptions (e.g., auth, validation)

    AI Usage Declaration (required at end of document): ☐ I did not use any AI tools ☐ I used AI tools (briefly describe how, including prompts and edits)

    Resources allowed:

    • You may reference REST API documentation or tutorials
    • You may use AI tools for ideas (must be disclosed)
    • You may reference your own notes or class materials

    Simple, clear answers are better than overly complex ones.

    Sign in to upload files

    Video Response

    Video · 5-7 minRequired

    Format: .mp4, .mov, .webm

    Record a 5-7 minute video covering both sections:

    Section 1: Introduction (1-2 minutes) Share one example of a time you built something—even a small feature or class project. What did you learn?

    Section 2: Challenge Response (3-5 minutes) Walk through your API design:

    • What are your main endpoints?
    • How would you handle errors or invalid input?
    • Describe one simple test case

    Requirements:

    • Clear audio quality
    • Address both sections (Introduction and Challenge Response)
    • Focus on clarity and reasoning, not complex code
    • You don't need to write actual code—just explain your design

    Sign in to upload files