Skip to content

hillalee/whats-my-mood

Repository files navigation

Mood Tracker Web Application

A web application that allows users to track their daily moods using a simple emoji-based interface. This project is built to experiment with AWS services and Infrastructure as Code using Terraform.

Architecture

The application uses several AWS services orchestrated with Terraform:

  • Frontend: Static website hosted on S3 and distributed via CloudFront
  • Backend: Serverless architecture using AWS Lambda and API Gateway
  • Database: DynamoDB for storing mood data
  • Infrastructure: Managed with Terraform and hosted on Terraform Cloud

Key Components

  • S3 bucket for static website hosting
  • CloudFront distribution for content delivery
  • API Gateway for REST endpoints
  • Lambda function for backend processing
  • DynamoDB table for data persistence
  • IAM roles and policies for security

Features

  • Simple emoji-based mood selection interface
  • Daily mood tracking and averaging
  • User-specific mood history
  • Responsive design that works on mobile devices

Technical Stack

  • Frontend: HTML, CSS, JavaScript
  • Backend: Node.js (Lambda function)
  • Infrastructure: Terraform
  • AWS Services: S3, CloudFront, API Gateway, Lambda, DynamoDB, IAM
  • CI/CD: Terraform Cloud

Project Structure

  • *.tf files - Terraform configuration files
  • lambda/ - Lambda function source code
  • index.html - Frontend web application
  • variables.tf - Terraform variables definition
  • outputs.tf - Terraform output values

Prerequisites

  • AWS Account
  • Terraform Cloud Account
  • Terraform CLI
  • Node.js (for Lambda development)

Getting Started

  1. Clone the repository
  2. Configure AWS credentials
  3. Initialize Terraform - terraform init
  4. Apply infrastructure - terraform apply. You need to authorize or use the flag --auto-approve.

This is an experimental project for learning purposes. Feel free to fork and modify for your own use :)

About

track users daily mood, using AWS and terraform for IaaS. try it!

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors