Skip to content

⭐️ Bootcamp ⭐️ #25

@danctila

Description

@danctila

Bootcamp Challenge: Dev Registration

Getting Started

Before you begin, create a new branch from main:

git checkout -b your-name/dev-registration

(e.g., anderdingus/dev-registration)


Goal

Build a simple registration page where you can add your name and see all registered devs.


What to Build

Backend

Add two endpoints to the existing devs API:

POST /devs - Register a new developer

  • Accepts: { "name": "your-name" }
  • Returns: the created dev object (201)

GET /devs - List all developers

  • Returns: array of all devs (200)

Frontend

Create a registration page with:

  • Input field for name
  • Submit button
  • List of all registered developers

Files you might want to work in...

Backend:

  • backend/internal/repository/devs.go - methods like CreateDev() and GetAllDevs()
  • backend/internal/handler/devs.go - handlers for the two endpoints
  • backend/internal/service/server.go - route wiring

Frontend:

  • clients/web/src/routes/register.tsx (create new file) - Build the form + list

Files you might want to reference...

  • Existing GetMember implementation in the backend - shows how to structure repository methods, handlers, and routing (you don't have to reinvent the wheel 😎)
  • For frontend routing with TanStack Router, check out clients/web/src/routes/index.tsx to see how routes are structured

Testing

Backend:

# Create a dev
curl -X POST http://localhost:8080/devs -H "Content-Type: application/json" -d '{"name":"lebron-james"}'

# Get all devs
curl http://localhost:8080/devs

Frontend:
Navigate to your page (e.g., /register), enter a name, submit, see it appear in the list.


Done When:

  • Can register a dev via the form
  • List shows all registered devs
  • Backend endpoints work via curl
  • PR is created and ready for review

Creating Your Pull Request

Once you've completed the feature and tested it:

  1. Commit your changes:

    git add .
    git commit -m "Add dev registration feature"
    git push origin your-name/dev-registration
  2. Open a PR on GitHub and fill out the description with:

    • What you did: Brief summary of the changes (added POST/GET endpoints, created registration page, etc.)
    • How you tested:
      • Backend: List any curl commands you ran and what responses you got
      • Frontend: Describe what you tested in the browser
    • Link this issue in the PR description (use Closes #[issue-number])

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions