Skip to content

Employee Management App - Fullstack app with Java on AWS Lambdas with DynamoDB, and HTML/CSS/Javascript

Notifications You must be signed in to change notification settings

lafleurss/employee-management-app

Repository files navigation


Logo

Employee Management App

The Employee Management App is a tool that supports the Human Resource teams to manage, connect and engage with employees in today’s ‘remote-first’ world.

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

The Employee Management App is a tool that supports the Human Resources to manage, connect and engage with employees easily in today’s ‘remote-first’ world. The app streamlines the management of employee contact information such as name, job title, email, phone#, department, birth date, hire date, employment status.

Product Name Screen Shot

Features

  • Users can view “All Employees” list across ALL departments
  • Users can filter the “All Employees” list view based on a selected department
  • Users can view, create, update requested employee information
  • Users can view “All Employees” list sorted by the employee’s last name
  • Users can view, create and update departments information

(back to top)

Built With

Architecture

(back to top)

Getting Started

The following instructions will guide you on setting up and running the project locally.

Prerequisites and Installation

  1. Create or use an existing Amazon AWS account
  2. Install the latest version of AWS CLI AWS CLI
  3. Install the latest version of AWS SAM CLI AWS SAM CLI
  4. Install Docker Docker
  5. Install NodeJS to be able to run npm commands
  • On Windows / WSL:
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - &&\
sudo apt-get install -y nodejs
  • On macOS:
brew install node

Run Locally

  1. DATA Create some sample data: aws dynamodb batch-write-item --request-items file://data/data.json

  2. BACKEND: Run the Lambda service

    • Build the Java code: sam build
    • Create an S3 bucket: aws s3 mb s3://YOUR_BUCKET
    • Deploy the SAM template: sam deploy --s3-bucket BUCKET_FROM_ABOVE --parameter-overrides S3Bucket=BUCKET_FROM_ABOVE FrontendDeployment=local
    • Run the local API: sam local start-api --warm-containers LAZY
  3. FRONTEND: Run a local web server (aka the frontend):

    • CD into the web directory: cd web
    • Install dependencies : npm install
    • Run the local server: npm run run-local

After doing all of this, you will have a server running on port 8000 - you can access it by going to http://localhost:8000 in your browser.

To stop either the local backend (the sam local... command) or local frontend (the npm run...) command, simply press Ctrl-C in the terminal where the process is running.

(back to top)

Contact

Shilpa Nair - [shilpa.sathya@gmail.com] shilpa.sathya@gmail.com

Project Link: https://github.com/lafleurss/employee-management-app

(back to top)

Acknowledgments

  • Nashville Software School for supporting me in my journey of lifelong learning
  • Instructors Andy Collins and Charlie Penner for their endless patience, wisdom and guidance
  • Teammates - Josh Taylor, Jack Siri, Sanjay T., Jesse Bass without whom this project would not be possible

(back to top)