MiniDocs is a cloud-native application designed to facilitate document management. Developed by the E6156 - Topics in SW Engineering Management: Cloud Computing team at Columbia University, this project offers an efficient and user-friendly way to manage documents in the cloud.
- Live Website: Visit Site
- Demo Videos: Google Drive Folder
MiniDocs allows users to:
- Login using their Columbia/Google email address.
- Perform Create, Read, Update, Delete (CRUD) operations on documents they own.
- Share documents with other users via email.
- Receive email notifications for updates or shares.
- CRUD operations.
- Grammar checks via an External Grammar API microservice.
- Amazon SNS triggers emails for file updates or shares.
- Owner: Manages their own files.
- Viewer: Accesses files shared with them.
-
Document Service (Container):
- Manages document creation, editing, storage, content, and permissions.
-
User Authentication and Authorization Service (Google Cloud):
- Handles user authentication, authorization, and access control.
-
Document Utility Service (EC2):
- API utility service for grammar checks on document text.
-
Notification System (EC2):
- Email notifications via SNS topics and Lambda functions.
-
GraphQL:
- Basic GraphQL application for querying user data.
/api/docs
: OpenAPI documentation./files
: Document management./auth
: User authentication./users
: User management./grammarcheck
: Grammar check service./share
: Document sharing.
- Managed using Agile methodologies.
- Front-End: GitHub Repository
- Document Service: GitHub Repository
- Document Utility Service: GitHub Repository
- User Authentication: GitHub Repository
- Project Board: GitHub Project
- GraphQL: GitHub Repository
- Frontend (S3): Visit Site
- Document Backend (EC2): Visit Site
- Authentication Backend (GCP): Visit Site
- External Backend API (EC2): Visit Site
MiniDocs represents a comprehensive solution for cloud-based document management, emphasizing ease of use, security, and efficient document handling. This project is a testament to the collaborative effort and technical expertise of the E6156 team.