Skip to content

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.

Notifications You must be signed in to change notification settings

eceCaliskan/cloud-native-document-management-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

58 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Carbon and Cost Aware Document Management System

Angular FastAPI Docker GCS CI/CD

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.


πŸš€ Key Features

  • 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


πŸ—οΈ Tech Stack

Layer Technology
Frontend Angular, Angular Material, Bootstrap
Backend FastAPI (Python)
Authentication Firebase Auth
Storage Google Cloud Storage
DevOps Docker, GitHub Actions

πŸ“¦ Installation

Backend (FastAPI)

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 --reload

API Docs β†’ http://localhost:8000/docs


Frontend (Angular)

cd frontend
npm install
ng serve

App β†’ http://localhost:4200/


Docker (Full App)

docker-compose up --build

πŸ”§ Environment Variables

Create 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
      }

πŸ“˜ References

  • Husain et al., 2023
  • Yu, 2024
  • Hyun et al., 2024

About

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.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published