This is the final code of the Let's Go e-book by Alex Edwards. It's a full-stack Go web application called "Snippetbox" that lets users CRUD text snippets (similar to GitHub gists).
- RESTful routing (Go 1.22’s HTTP Package)
- HTML Templating
- Authentication and Authorization
- Level logging and centralized error handling
- Middlewares
- Session Management
- MySQL database
- Security (HTTPS,OWASP Secure Heards and CSRF)
- Testing
| Method | Pattern | Action |
|---|---|---|
| GET | / | Display the home page |
| GET | /snippet/view/{id} | Display a specific snippet |
| GET | /snippet/create | Display a HTML form for creating a new snippet |
| POST | /snippet/create | Create a new snippet |
| GET | /user/signup | Display a HTML form for signing up a new user |
| POST | /user/signup | Create a new user |
| GET | /user/login | Display a HTML form for logging in a user |
| POST | /user/login | Authenticate and login the user |
| POST | /user/logout | Logout the user |
| GET | /account/view | View account details |
| GET | /account/password/update | Display a HTML form for updating password |
| POST | /account/password/update | Update the user password |
| GET | /about | About page |
