Skip to content

Divyamsirswal/complete-go-backend-journey

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

33 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Go Logo

πŸš€ Complete Go Backend Journey

YouTube

From zero to production-ready Go engineer β€” one day at a time.

Days Completed Phase Status Livestream Stars

No shortcuts. No skipped fundamentals. Just real Go, every day.

πŸ“… Daily Progress Β· πŸ—ΊοΈ Roadmap Β· πŸ”¨ Projects Β· πŸ“ Notes Β· ⭐ Star this repo


πŸ€” Why This Repo Exists

Most Go tutorials rush to frameworks and skip why things work.

This repo is different. Every concept is earned, not skipped. Every line of code is written by hand. Every day I stream my progress live β€” no edits, no polished tutorials, just real learning in real time.

If you're a beginner learning Go for backend development, this repo is your companion:

  • Follow the exact same roadmap, day by day
  • Read human-written notes for every single day
  • Clone and run each day's challenges yourself
  • Watch the thinking process, not just the final output

βœ… What You'll Learn by Following This

By the end of this 30-day journey, you'll be able to:

  • Write idiomatic Go β€” no bad habits carried from other languages
  • Build REST APIs from scratch β€” routing, JSON, CRUD, no heavy frameworks
  • Integrate a real database β€” PostgreSQL with raw SQL
  • Implement auth β€” login, signup, JWT, protected routes
  • Structure backend projects cleanly β€” handlers, middleware, separation of concerns
  • Ship a complete backend API β€” auth + DB + CRUD as a final project

πŸ“ Repository Structure

complete-go-backend-journey/
β”‚
β”œβ”€β”€ πŸ“… daily/                    ← One folder per day, every day
β”‚   β”œβ”€β”€ day01/                   ← main.go + challenge solutions
β”‚   β”œβ”€β”€ day02/
β”‚   β”œβ”€β”€ day03/
β”‚   β”œβ”€β”€ day04/
β”‚   β”œβ”€β”€ day05/
β”‚   β”œβ”€β”€ day06/
β”‚   β”œβ”€β”€ day07/
β”‚   β”œβ”€β”€ day08/
β”‚   β”œβ”€β”€ day09/
β”‚   β”œβ”€β”€ day10/
β”‚   β”œβ”€β”€ day11/
β”‚   β”œβ”€β”€ day12/
β”‚   β”œβ”€β”€ day13/
β”‚   β”œβ”€β”€ day14/
β”‚   β”œβ”€β”€ day15/
β”‚   β”œβ”€β”€ day16/
β”‚   β”œβ”€β”€ day17/
β”‚   β”œβ”€β”€ day18/
β”‚   └── ...                      ← New folder added every day
β”‚
β”œβ”€β”€ πŸ“ notes/                    ← Day-wise concept notes, written in plain English
β”‚   β”œβ”€β”€ day01.md                 ← Variables & Data Types
β”‚   β”œβ”€β”€ day02.md                 ← Input Handling & Formatted Output
β”‚   β”œβ”€β”€ day03.md                 ← Loops & Iteration
β”‚   β”œβ”€β”€ day04.md                 ← Nested Loops & Strings
β”‚   β”œβ”€β”€ day05.md                 ← Functions & Modular Code
β”‚   β”œβ”€β”€ day06.md                 ← Arrays, Slices & Data Handling
β”‚   β”œβ”€β”€ day07.md                 ← Maps & Intro to Structs
β”‚   β”œβ”€β”€ day08.md                 ← Structs deeply, nested structs, real-world modeling
β”‚   β”œβ”€β”€ day09.md                 ← Pointers & Memory Understanding
β”‚   β”œβ”€β”€ day10.md                 ← Error Handling
β”‚   β”œβ”€β”€ day11.md                 ← HTTP Basics
β”‚   β”œβ”€β”€ day12.md                 ← JSON encoding, decoding, struct tags, json.Marshal/Unmarshal
β”‚   β”œβ”€β”€ day13.md                 ← Routing, API design, URL patterns, method handling
β”‚   β”œβ”€β”€ day14.md                 ← Clean API structure, JSON responses, route organization
β”‚   β”œβ”€β”€ day15.md                 ← Full CRUD API β€” Create, Read, Update, Delete handlers
β”‚   β”œβ”€β”€ day16.md                 ← Refactored CRUD API, clean structure, separation of concerns
β”‚   β”œβ”€β”€ day17.md                 ← Database basics, SQL intro, CREATE/INSERT/SELECT/UPDATE/DELETEβ”‚   
β”‚   β”œβ”€β”€ day18.md                 ← Go + PostgreSQL connection, database/sql, query execution
└── ...                      ← New note added every day
β”‚
β”œβ”€β”€ πŸ”¨ projects/                 ← Real backend projects built during the journey
β”‚   β”œβ”€β”€ 01-url-shortener/
β”‚   β”œβ”€β”€ 02-task-api/
β”‚   β”œβ”€β”€ 03-auth-service/
β”‚   └── 04-final-backend-api/
β”‚
└── README.md

πŸ“… Daily Progress Log

🧱 Phase 1 β€” Core Programming (Days 01–10) βœ… COMPLETE

Build the foundation so strong that everything else becomes easy.

Day Topic Status Notes
Day 01 Variables & Data Types βœ… Done πŸ“
Day 02 Input Handling & Formatted Output βœ… Done πŸ“
Day 03 Loops & Iteration Patterns βœ… Done πŸ“
Day 04 Nested Loops & String Handling βœ… Done πŸ“
Day 05 Functions & Modular Code βœ… Done πŸ“
Day 06 Arrays, Slices & Data Handling βœ… Done πŸ“
Day 07 Maps & Intro to Structs βœ… Done πŸ“
Day 08 Structs Deeply β€” Nested Structs & Real-World Modeling βœ… Done πŸ“
Day 09 Pointers & Memory Understanding βœ… Done πŸ“
Day 10 Error Handling Basics βœ… Done πŸ“

🌐 Phase 2 β€” Backend Fundamentals (Days 11–20) πŸ”„ Active

You stop writing programs. You start building backend services.

Days Topic Status
Day 11–12 HTTP Basics β€” Build First Server with net/http βœ… Done
Day 13–14 Routing & JSON Handling βœ… Done
Day 15–16 REST API β€” Full CRUD βœ… Done
Day 17–18 Database Basics, SQL Intro, Connect Go + PostgreSQL βœ… Done
Day 19–20 Mini Project: Simple Users / Notes API πŸ”„ In Progress

πŸ” Phase 3 β€” Real Backend Features (Days 21–30)

Production thinking: auth, clean architecture, and a complete final project.

Days Topic Status
Day 21–22 Authentication β€” Signup, Login, JWT ⏳ Upcoming
Day 23–24 Middleware & Logging ⏳ Upcoming
Day 25–26 Clean Project Structure & Code Organization ⏳ Upcoming
Day 27–30 Final Project: Full Backend API (Auth + DB + CRUD) ⏳ Upcoming

βš™οΈ Bonus β€” Deploy & Scale (Post Day 30)

Optional but powerful. Goes from "works on my machine" to "works in production."

Topic Covers
Docker Basics Containerize your Go service
Deployment Deploy to Railway / Render / Fly.io
Performance Basics Profiling, connection pooling, graceful shutdown

πŸ—ΊοΈ Full Roadmap

Phase 1 β€” Core Go         (Days 01–10)  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ   100%
Phase 2 β€” Backend         (Days 11–20)  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘   80%
Phase 3 β€” Real Features   (Days 21–30)  β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   0%
Bonus   β€” Docker & Deploy (Post Day 30) β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   0%

πŸ”¨ Projects

Projects are built during the journey β€” each one only uses concepts already covered. No jumping ahead.

# Project Key Concepts Built On
01 URL Shortener API net/http, maps, JSON responses Day 13–14
02 Task Manager REST API CRUD, PostgreSQL, clean routing Day 17–18
03 JWT Auth Service Auth, middleware, protected routes Day 21–22
04 Full Backend API Everything combined Day 27–30

Each project lives in /projects with its own README, how-to-run instructions, and a short architecture note.


πŸ“ Notes

Each day's concepts are documented in /notes/dayXX.md β€” written after the topic is fully understood, in plain language, not copy-pasted from docs.

File Covers
day01.md Variables, data types, zero values in Go
day02.md fmt, bufio, formatted input/output
day03.md for loops, range, iteration patterns
day04.md Nested loops, string manipulation
day05.md Functions, multiple returns, variadic args
day06.md Arrays vs slices, append, length vs capacity
day07.md Maps, key-value operations, intro to structs
day08.md Structs deeply, nested structs, real-world modeling
day09.md Pointers, memory addresses, dereferencing
day10.md Error handling, custom errors, idiomatic Go errors
day11.md net/http, ListenAndServe, handlers, request/response cycle
day12.md JSON encoding, decoding, struct tags
day13.md Routing, URL patterns, method-based handlers, API design
day14.md Clean API structure, JSON responses, route organization
day15.md Full CRUD β€” GET, POST, PUT, DELETE handlers, in-memory store
day16.md Refactored CRUD API, clean code structure, separation of concerns
day17.md Database basics, SQL intro, CREATE/INSERT/SELECT/UPDATE/DELETE
day18.md Go + PostgreSQL, database/sql, db.Query, db.Exec, connection pooling

New note added every day. If you're stuck on a concept, read the note for that day before googling.


πŸš€ How to Use This Repo

Option 1 β€” Follow the journey: Star β†’ Watch β†’ come back daily. New folder + note every day with working, commented code.

Option 2 β€” Use as a structured Go syllabus:

git clone https://github.com/Divyamsirswal/complete-go-backend-journey.git
cd complete-go-backend-journey/daily/day01
go run main.go

Option 3 β€” Read the notes only: Stuck on a specific concept? Jump straight into /notes/dayXX.md for a plain-English breakdown.


πŸ’¬ Community

  • ⭐ Star the repo β€” helps other beginners find it
  • πŸ› Open an issue if you spot a bug or mistake in the code or notes
  • πŸ’‘ Start a discussion to ask questions or suggest topics
  • 🀝 PRs welcome for corrections, cleaner solutions, or better explanations

πŸ”΄ Live Coding Sessions

I code this journey live on YouTube β€” every day's folder is written on stream, no cuts.

πŸ“Ί Channel: youtube.com/@classic4650

  • Watch me think through problems in real time
  • Ask questions live in the chat
  • Every stream = one day's progress in this repo

Streams are unedited. You see the mistakes, the fixes, and the reasoning β€” not just the final code.


πŸ§‘β€πŸ’» About Me

I'm Divyam β€” a final-year CS student building in public.

I learn by doing, explaining, and shipping. This repo is my commitment to mastering Go backend development the right way β€” no framework before fundamentals.


If this helped you, star the repo. It helps other beginners find it. 🌟

About

A disciplined day-by-day journey to mastering backend development with Go - strong fundamentals, daily challenges, hand-written notes, and live coding streams. From variables to full REST APIs. No shortcuts.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages