A basic time-rapporting system in AWS. Below is a quick guide on how to set it up.
- AWS Account: Ensure you have an AWS account.
- AWS CLI: Install and configure the AWS CLI.
- Terraform: Install Terraform on your local machine.
- IAM User/Role: Ensure you have an IAM user or role with sufficient permissions to create resources.
- Data Storage: Use Amazon DynamoDB for storing time entries.
- API Gateway: Use Amazon API Gateway to expose APIs for CRUD operations.
- Lambda Functions: Use AWS Lambda for backend logic.
- Authentication: Use Amazon Cognito for user authentication.
curl -X POST -H "Content-Type: application/json"
-d '{"clientId": "client1", "duration": 120}'
https://.execute-api..amazonaws.com/dev/time-entry
Tools and frameworks
- NextJS
- AWS Cognito
- AWS Amplify or AWS S3 + Cloudfront
The terraform project need to be initialized first.
terraform init
Deploy the project and perform the resource changes by using apply.
terraform apply