Your first look

Open the URLs, log in with the seeded account, click around.

5 mineasy

Everything is running. This is the "see what you have" lesson — open each URL, recognise what it is, log in to the admin panel, and read the JSON the API returns.

The five URLs

http://localhost:3000 Web (public site)
http://localhost:3001 Admin panel
http://localhost:8080 API root
http://localhost:8080/api/health Health check (returns JSON)
http://localhost:8080/docs OpenAPI docs (auto-generated)
http://localhost:8080/studio GORM Studio — visual DB browser
http://localhost:8025 Mailhog UI — captures sent emails

1. The API — the smallest possible win

Open http://localhost:8080/api/health. You should see:

{ "status": "ok", "version": "0.1.0" }

That's the API alive and responding. Tiny but important.

2. The OpenAPI docs

Open http://localhost:8080/docs. You see Scalar UI — an auto-generated, interactive docs surface for every endpoint. Click any endpoint to see the schema, try it out, see the response. No OpenAPI YAML to maintain — Grit generates it from the Go code.

3. The admin panel

Open http://localhost:3001. Log in with:

Email: admin@example.com
Password: admin123

You land on the admin dashboard. Click Users in the sidebar — you'll see a table with sortable columns, a filter bar, and pagination. That's the DataTable primitive doing the work. Click a user to edit them — that's the FormBuilder.

The admin panel writes itself. When you generate a new resource (chapter 4), an admin page for it appears automatically. No HTML, no form code — just defineResource().

4. The web app

Open http://localhost:3000. The public Next.js site — scaffolded with a landing page, signup, login, and a basic dashboard. We won't touch this much in the concepts course; the Building Web with Next.js course goes deep here.

5. GORM Studio — see your data

http://localhost:8080/studio opens GORM Studio — a visual DB browser. Click users in the left rail. You see the seeded admin row, schema, indexes. Run ad-hoc SQL from the query tab. Useful when you're debugging "is this row really in the DB?".

Quick check

You sign up a new user from the web app. Which URL should you check to see what email the system tried to send them?

Try it

Take a tour. Open each URL and capture three screenshots for your notes.md:

  1. The JSON response from /api/health
  2. The admin dashboard after you log in
  3. The users table in GORM Studio

That's the chapter 2 assignment done. Open the assignment page in the sidebar to tick off the success criteria.

What's next

Chapter 3 — The Convention Surface. Now that you can see the project running, we get into the rules every file follows and why. Once you internalise these, you can write code that fits the codebase before you've even read it.

Spot a typo? Have an idea?

Help us improve this lesson. One click opens a GitHub issue with the lesson URL pre-filled — suggest clearer wording, report a bug, or request more depth. The course keeps improving thanks to learners like you.

Suggest an improvement on GitHub