- Postman
- MongoDB Atlas as the database platform
- MongoDB Compass GUI for data exploration
- GoLand IDE for Go
- GoSwagger
- GoDotEnv
- Go JWT
- Gin Sessions
- GoLang xid โ Globally Unique ID Generator
- Argon2 hashing
The application relies on environment variables for the database connection,
and JWT generation. These variables are accessed through the GoDotEnv package
(see above for link) and stored in a .env
file in an instance
directory.
The format is as follows:
# MongoDB Atlas Configuration
MONGODB_URI=<<MongoDB Connection String>>
MONGODB_DATABASE=<<MongoDB database name>>
RODEO_COLLECTION=<<MongoDB collection name for rodeos>>
USERS_COLLECTION=<<MongoDB collection name for users>>
# Server Port
PORT=<<Port number>>
# Authorization Strings
JWT_SECRET=<<random 16 character string>>
Generate spec
swagger generate spec -o ./swagger.json
Start documentation server (port 53065 by default)
swagger serve ./swagger.json
Different format (port 64761 by default)
swagger serve -F swagger ./swagger.json
Generate spec in markdown
swagger generate markdown -f ./swagger.json --output swagger.md
Episode Number | Episode Topics | YouTube | Application | |
---|---|---|---|---|
1 | Project Setup | Link | Link | Rodeo App |
2 | Version Control, struct tags, documentation, database connection | Link | Link | Rodeo App |
3 | Adding a database and debugging | Link | Link | Rodeo App |
4 | API Routes | Link | Link | Rodeo App |
5 | Finish API endpoints, implement JWT authorization | Link | Link | Rodeo App |
6 | Users & Password Hashing | Link | Link | Rodeo App |
7 | Inedible Cookies | Link | Link | Rodeo App |
8 | Templates & Data Passing | Link | Link | Rodeo App |
9 | Year End Celebration | Link | Link | None - Just Fun |
10 | User Login & Logout Page & Routes | Link | Link | Rodeo App |
11 | The AI Surge in 2024: Reshaping Developer and DevOps with guest John Capobianco | Link | Link | None - Just Fun |
12 | Adding Duo Authentication | Link - TBD | Link - TBD | Rodeo App |