A scalable, cloud-native Document Management System designed for modern engineering projects. The system solves challenges of duplication, version inconsistencies, limited accessibility, and poor collaboration found in traditional local/intranet-based document management.
Based on the research paper, Yu, J. (2024) βDesign and implementation of Engineering Document Management Information Systemβ, Proceedings of the 2024 5th International Conference on Big Data Economy and Information Management, pp. 136β142. Available at: https://doi.org/10.1145/3724154.3724177.
-
Cloud Document Storage (GCS): Centralized, globally accessible storage.
-
Cost-Aware & Carbon-Aware Region Selection:
- Cost-aware β chooses low-cost data centers
- Carbon-aware β chooses low-emission / renewable-powered regions
-
Secure Role-Based Access using Firebase Authentication
-
Modern UI built with Angular, Angular Material & Bootstrap
-
FastAPI Backend with auto-generated Swagger docs
-
Dockerized Deployment (frontend + backend images)
-
CI/CD Pipeline through GitHub Actions
| Layer | Technology |
|---|---|
| Frontend | Angular, Angular Material, Bootstrap |
| Backend | FastAPI (Python) |
| Authentication | Firebase Auth |
| Storage | Google Cloud Storage |
| DevOps | Docker, GitHub Actions |
Generate Firebase Project -> Settings -> Service Accounts -> Private Key, download the file and put it in the backend folder
cd backend
pip install -r requirements.txt
uvicorn main:app --reloadAPI Docs β http://localhost:8000/docs
cd frontend
npm install
ng serveApp β http://localhost:4200/
docker-compose up --buildCreate a environment.ts file in frontend/src folder:
export const FirebaseConfig={
apiKey: your-api-key,
authDomain: your-auth-domain,
projectId: your-project-id,
storageBucket: your-storage-bucket,
messagingSenderId: your-sender-id,
appId: your-app-id,
measurementId: your-measurement-id
}- Husain et al., 2023
- Yu, 2024
- Hyun et al., 2024