One repo test
A good API repo passes one test: can a teammate clone it, run it, and call one endpoint in under 10 minutes.
Do not make the reviewer guess ports, env names, seed data, or example requests. Put the path in the repo.
What to ship
Your project is not only server code. It is a small product package. The repo should prove that your API works and that your design is clear.
Keep it simple. A Node, Python, Java, or Go API is fine. Use free tools. The important part is that the repo is public, runnable, and documented.
Repo checklist
Do each one yourself, then tap it to tick it off. The ticks are only a checklist for you: they are not marked or scored.
0 of 5 done
README starter
Use this as a minimum README shape. Edit names, commands, and endpoints for your API.
# Campus Tasks API
A small REST API for managing campus club tasks.
## Run locally
1. Install dependencies
npm install
2. Copy env file
cp .env.example .env
3. Start the server
npm run dev
Base URL: http://localhost:3000/api/v1
## Try it
List tasks with pagination:
curl "http://localhost:3000/api/v1/tasks?page=1&limit=5"
Create a task:
curl -X POST "http://localhost:3000/api/v1/tasks" \
-H "Content-Type: application/json" \
-d '{"title":"Book seminar hall","dueDate":"2026-02-10"}'
## Example error
Request:
POST /api/v1/tasks
{}
Response: 400 Bad Request
{
"error": {
"code": "VALIDATION_ERROR",
"message": "title is required"
}
}Use AI carefully
Ask ChatGPT, Gemini, or Claude to review your README as a new teammate. Paste your README and ask: “Can you run and call this API from a fresh clone? What is missing?”
Check the answer yourself. AI may assume scripts or files that do not exist. Only keep suggestions that match your actual repo.
Common shipping mistakes
Many good APIs lose points because the repo is hard to run. A reviewer should not need to DM you for the port, database setup, or sample request.
Do not only upload screenshots or a Postman collection. Your public repo must contain working code and clear written docs.
Smoke test file
Add a small file like scripts/smoke.sh. It proves the API starts and one important endpoint responds.
#!/bin/sh
BASE_URL=${BASE_URL:-http://localhost:3000/api/v1}
echo "Checking health..."
curl -i "$BASE_URL/health"
echo "Listing tasks..."
curl -i "$BASE_URL/tasks?page=1&limit=5"Do this now
Do each one yourself, then tap it to tick it off. The ticks are only a checklist for you: they are not marked or scored.
0 of 5 done