A mobile-first web application built on serverless technology to streamline project management and team collaboration. This application empowers users by providing tools to efficiently manage tasks and members within projects. Project Buddy offers an intuitive user experience across all devices.
Image 1: High-level diagram of Project Buddy's AWS architecture
Project Buddy is built with a client-serverless architecture utilizing cloud services provided by AWS.
- The presentation layer was programmed using vanilla JavaScript, HTML, and CSS, stored in Amazon S3 buckets. Buckets are cached and deployed by AWS CloudFront.
- User authentication provided by Amazon Cognito.
- The middleware contains RESTful APIs built with Amazon API Gateway, AWS Lambda, and AWS Java SDK.
- The database was provided by AWS DynamoDB with NoSQL structure.
Environment should be hosted on Linux or WSL configured for Windows.
Ensure you have all the prerequisites installed and set up correctly before proceeding with the setup and deployment of Project Buddy.
- AWS Account: You'll need an active AWS account to deploy and manage resources on the AWS platform. Sign up for AWS
- Docker: Containerization platform. Download Docker Desktop
- AWS SAM (Serverless Application Model): Framework for building serverless applications. Installation Guide
- NPM (Node Package Manager): Package manager for JavaScript and Node.js. Download Node.js and npm
- Gradle: Build automation tool for Java projects. Gradle Installation
- AWS CLI (Command Line Interface): Command-line tool for interacting with AWS services. AWS CLI Installation
- Amazon Corretto JDK 11: Distribution of the Open Java Development Kit (OpenJDK) with long-term support from Amazon. Download Amazon Corretto JDK 11
All deployments require an AWS account and IAM user to provision cloud services. If you do not have an AWS account or a configured IAM user, please visit Creating AWS Account and IAM User
Developer Deployments
- Developer Deployment 1: Local Backend and Local Frontend
- Developer Deployment 2: Remote Backend and Local Frontend
Production Deployments