Unit Code: MIT 8107
Course: Advanced Database Systems
Date: 30th July 2025
Group Members:
- Aicha Mbongo
- Joel Mutevu
- Brian Githenya
- Alan
📘 A. Introduction
Briefly introduce your chosen NoSQL data model. Include:
- What it is
- Why you chose it
- Its advantages over other models
⚙️ B. Setup Instructions
Use Docker for consistency and reproducibility.
docker run --name mongodb -d -p 27017:27017 mongo:7.0- Installation steps for Docker (if needed)
- Version numbers for the NoSQL tool and any GUIs
- Optional: Docker Compose setup
🛠️ C. Basic CRUD Operations
Demonstrate how to connect and run basic CRUD operations:
- Create (e.g.,
insertOne) - Read (e.g.,
find) - Update (e.g.,
updateOne) - Delete (e.g.,
deleteOne)
Use context-specific examples like:
- MongoDB → Product catalog
- Neo4j → Friend relationships
// MongoDB Insert Example
db.products.insertOne({
name: "Laptop",
price: 999,
category: "Electronics"
});Explain each command and expected result.
🧩 D. Applied Scenario
Describe a real-life scenario where your chosen model is useful. Include:
- A brief background of the problem
- Why the data model fits
- Sample data (structure and content)
- Example queries with output
💻 E. Code & Commands
All commands used must be:
- Clearly annotated
- Grouped by function (setup, insert, read, etc.)
- Tested and verified
# Example: Create a collection
db.createCollection("products")Add comments above each command explaining its role.
🖼️ F. Visuals and Output
Screenshots are required for:
- Docker container running
- Terminal/CLI or GUI in action
- Before/after of CRUD operations
- UI dashboards (if any, like Neo4j browser, Mongo Express)
Embed images like this:
Organize visuals in an images/ folder.
🧪 G. Clarity & Reproducibility
Ensure:
- Steps can be followed from scratch
- No assumptions are made about prior setup
- All external dependencies are listed
- Version numbers are locked
🧼 Bonus Tip: Test the full setup on a new machine or VM.
🧑🤝🧑 H. Collaboration Summary
| Member Name | Main Contribution | Detailed Responsibilities |
|---|---|---|
| Group member 1 | Docker setup, environment configuration | Set up Docker container or direct installation; ensure database instance runs correctly. This is critical to provide the environment for all other tasks. |
| Group member 2 | CRUD operations implementation and scripting | Write and test Create, Read, Update, Delete operations scripts and commands. This depends on the environment being ready. |
| Aicha | Scenario design and screenshots collection | Design the realistic scenario use case and take screenshots of outputs and interface to illustrate steps clearly. |
| Group member 4 | Dataset creation and query optimization | Develop sample datasets used for CRUD demos, optimize queries, and verify performance and correctness. Supports CRUD and scenario tasks. |
Each member must contribute meaningfully and be listed here.
Make sure your GitHub repo includes:
- 🐳
docker-compose.yml(optional) - 📂
datasets/folder (JSON, CSV, etc.) - 🖼️
images/folder (for screenshots) - 🧾
scripts/folder (for helper scripts) - 📄
README.md(this guide!)
| Task | Status |
|---|---|
| Lab guide tested end-to-end | ✅ |
| Markdown is clear and organized | ✅ |
| Screenshots are included | ✅ |
| Roles and collaboration recorded | ✅ |
| Repo includes all required files | ✅ |