🧑🏫 Instructor: Willington Juma
🏫 Institution: Masinde Muliro University of Science and Technology (MMUST)
📅 Period: During Industrial Attachment
🛠️ Tech Stack: Node.js | Express.js | MongoDB | Postman
This project was developed and used as a training resource during my industrial attachment at MMUST, where I served as the backend development instructor.
Students were guided through practical lessons covering the entire backend development flow using Express.js and MongoDB, including:
- API design and routing
- CRUD operations
- RESTful architecture
- Mongoose ORM
- Testing with Postman
- Environment setup and modularization
Backend/ │ ├── controllers/ # Logic for each route (e.g. itemController.js) ├── models/ # Mongoose schemas (e.g. itemModel.js) ├── routes/ # API route handlers (e.g. itemRoutes.js) ├── config/ # Database connection setup │ ├── .env # Environment variables ├── server.js # Main entry point └── README.md # Project documentation
Here are the practical backend lessons students went through:
- Lesson 1: Introduction to Node.js and Express
- Lesson 2: Creating an Express server
- Lesson 3: Setting up MongoDB and Mongoose
- Lesson 4: Defining models and schemas
- Lesson 5: Creating CRUD routes (POST, GET, PUT, DELETE)
- Lesson 6: Modularizing code (routes, controllers, models)
- Lesson 7: Using Postman to test REST APIs
- Lesson 8: Handling errors and validation
- Lesson 9: Environment configuration with dotenv
- Lesson 10: Running server with Nodemon
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/items |
Get all items |
| POST | /api/items |
Create a new item |
- Postman – API Testing
- Nodemon – Hot-reload for Node.js
- Mongoose – MongoDB ODM
- Dotenv – Secure environment variable management
This project not only demonstrated how to build backend APIs using Express.js and MongoDB but also encouraged students to follow best practices such as modular coding, code readability, and structured development.
👨🏫 Led and taught by Willington Juma during my attachment period at MMUST.
Want to collaborate or learn more?
Willington Juma
📧 [[email protected]]
🌐 GitHub: github.com/samrato