-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
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 likeCreateDev()andGetAllDevs()backend/internal/handler/devs.go- handlers for the two endpointsbackend/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
GetMemberimplementation 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.tsxto 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/devsFrontend:
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:
-
Commit your changes:
git add . git commit -m "Add dev registration feature" git push origin your-name/dev-registration
-
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
Labels
No labels