Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
124 changes: 90 additions & 34 deletions docker-build/documentation.md
Original file line number Diff line number Diff line change
@@ -1,49 +1,105 @@
## ✅ Step-by-Step: Enable Required GCP APIs
# 🏫 DATABASE MANAGEMENT SYSTEM

You can enable these APIs using the **Google Cloud Console** or the **gcloud CLI**. Since you’re on Windows and just getting `gcloud` set up, I’ll show both methods.
## 🎯 Objective
To design and build a **reliable school database management system** capable of handling up to **30,000 user logins simultaneously** with **auto-scaling**, **fast response time**, and **minimal downtime**.

---

### 🔹 Option A: Enable via Google Cloud Console (Recommended for Now)
## 🧩 System Overview
The system is an **institution-grade database** for managing student data, including:

1. Go to [GCP API Library](https://console.cloud.google.com/apis/library)
2. At the top, make sure your project is set to `cloudtrack-dbms`
3. Search and enable each of the following APIs:
- Course registration
- Course validation
- Result display
- Other school-related data management processes

| API Name | Console Link |
|----------------------|--------------|
| Cloud Run API | [Enable Cloud Run](https://console.cloud.google.com/apis/library/run.googleapis.com)
| Artifact Registry API| [Enable Artifact Registry](https://console.cloud.google.com/apis/library/artifactregistry.googleapis.com)
| Cloud SQL Admin API | [Enable Cloud SQL](https://console.cloud.google.com/apis/library/sqladmin.googleapis.com)
| Compute Engine API | [Enable Compute Engine](https://console.cloud.google.com/apis/library/compute.googleapis.com)
| Kubernetes Engine API| [Enable Kubernetes Engine](https://console.cloud.google.com/apis/library/container.googleapis.com)
It was built using **odoo framework**,**Microsoft Azure** cloud service, **Kubernetes** for containerization, with university-specific-features added as custom modules, dummy data was generated using **faker** package from python library. Other Technologies was used suach as **Docker** for containerization and for generating a microservice architure upon deployment on the cloud, with emphasis on:

Click **“Enable”** on each page.
- Support for **high concurrent connections**
- **Fast query response**
- **Efficient data organization**
- **Minimal downtime**

### 🔹 Option B: Enable via `gcloud` CLI (Once Installed)
---

## 🏗️ Architecture Summary

| **Component** | **Description** |
|----------------|-----------------|
| **Database Engine** | MySQL |
| **Server Host** | Azure |
| **Frontend Access** | XML |

---

## ⚙️ Implementation Steps

1. **Database Design**
Schema creation and normalization to handle large-scale user data efficiently.

Once your `gcloud` CLI is working, you can run:
2. **Setup and Configuration**
Environment setup, security configurations, and server initialization.

```bash
gcloud config set project cloudtrack-dbms
3. **Connection Management**
Managing multiple concurrent connections and optimizing query performance.

gcloud services enable run.googleapis.com
gcloud services enable artifactregistry.googleapis.com
gcloud services enable sqladmin.googleapis.com
gcloud services enable compute.googleapis.com
gcloud services enable container.googleapis.com
```
4. **Caching Layer**
Implemented a caching layer to improve data retrieval and reduce query load.

## 🧠 Why This Matters
5. **Testing**
Conducted stress tests using automated logins and dummy data generation to measure:
- Maximum data/login load capacity
- Query response time
- System uptime
- Resource utilization metrics

An **interactive and responsiveness check** was carried out to ensure synchronization between the **frontend** and **backend**.

---

## 📊 Results

| **Metric** | **Result** |
|-------------|------------|
| **Max Concurrent Logins** | 3,000 |
| **Average Response Time** | TBD |
| **Uptime** | TBD |
| **Error Rate** | TBD |

---

These APIs unlock the core services you’ll need:
- **Cloud Run** → Deploy your Odoo container with autoscaling
- **Artifact Registry** → Store and manage your Docker image
- **Cloud SQL** → Host your PostgreSQL database
- **Compute Engine** → Underlying infrastructure for VMs and networking
- **Kubernetes Engine** → Optional for advanced container orchestration
## ⚠️ Challenges and Solutions

### Challenges
- **Limited Hardware Resources**
- Restricted disk space and CPU capacity during local testing.
- **Cloud Deployment Limitations**
- Limited resources on **Azure Student Subscription**, restricting full-scale deployment.

### Solutions
- Optimized resource usage by improving query handling and caching.
- Simulated high-load conditions using dummy data and local virtualized environments.
- Designed a modular system that can easily scale once more resources become available.

---

## ✅ Conclusion
Although the **full 30,000 concurrent user** objective was not achieved due to resource limitations, the **framework and architecture** of the project demonstrate strong potential for scalability and reliability.

The system successfully:
- Eliminated **slow query response** (lag)
- Reduced **downtime**
- Improved **scalability and performance**

> With adequate resources, this system can efficiently serve large-scale institutional deployments.

---

### 👥 Contributors


---

docker tag legacyg/dbms-itcloud-image:odoo18-futminna \
us-central1-docker.pkg.dev/cloudtrack-dbms/dbms-repo/odoo18-futminna
### 📘 License
This project is licensed under the [MIT License](LICENSE).

docker push us-central1-docker.pkg.dev/cloudtrack-dbms/dbms-repo/odoo18-futminna