A repository documenting my journey learning backend development with C# and .NET — from zero to building real-world APIs.
This repo is my personal learning log as I go through backend development concepts step by step.
Each lesson covers a core backend concept with real code, explanations, and mini projects.
| # | Topic | Status |
|---|---|---|
| 1 | How the backend works | ✅ Done |
| 2 | HTTP & REST API | ✅ Done |
| 3 | API Architecture & Controllers | ✅ Done |
| 4 | Middleware | 🔄 In progress |
| 5 | Routing | ⏳ Coming soon |
| 6 | Database | ⏳ Coming soon |
| 7 | ORM (Entity Framework) | ⏳ Coming soon |
| 8 | Authentication (JWT) | ⏳ Coming soon |
| 9 | Security | ⏳ Coming soon |
| 10 | Backend Architecture | ⏳ Coming soon |
| 11 | Testing | ⏳ Coming soon |
| 12 | Performance & Scalability | ⏳ Coming soon |
The backend is the brain of an application. It handles:
- Receiving HTTP requests from the client
- Applying business logic (rules, calculations, permissions)
- Reading & writing data from a database
- Sending back a structured response (JSON)
[Browser / Mobile App]
↓ HTTP Request
[Backend .NET]
↓ SQL Query
[Database]
↑ Data
[Backend .NET]
↑ JSON Response
[Browser / Mobile App]
A REST API is a set of conventions for building clean, predictable APIs using HTTP methods as actions:
| Method | Action | Example |
|---|---|---|
GET |
Read data | GET /api/products |
POST |
Create data | POST /api/products |
PUT |
Update data | PUT /api/products/1 |
DELETE |
Delete data | DELETE /api/products/1 |
📁 Lesson_1
📁 Lesson_2
📁 Lesson_3
│ ├── 📁 Controllers
│ ├── 📁 Services
│ ├── 📁 Models
│ └── Program.cs
- .NET 8 SDK
- Postman (to test the API)
- A code editor — VS Code recommended
git clone https://github.com/your-username/your-repo-name.git
cd your-repo-namecd Lesson-03-Controllers/ApiProduitsdotnet runYou should see:
Now listening on: http://localhost:5041
| Method | URL | Description |
|---|---|---|
GET |
http://localhost:5041/api/produits |
Get all products |
GET |
http://localhost:5041/api/produits/1 |
Get product by ID |
POST |
http://localhost:5041/api/produits |
Create a new product |
DELETE |
http://localhost:5041/api/produits/1 |
Delete a product |
POST request body example:
{
"nom": "Keyboard",
"prix": 59.99,
"categorie": "Informatique"
}| Code | Meaning |
|---|---|
200 OK |
Request successful |
201 Created |
Resource created successfully |
404 Not Found |
Resource not found |
400 Bad Request |
Invalid data sent |
500 Internal Server Error |
Server-side error |
This project is open source and available under the MIT License.