Skip to content

Lukas-Dev01/Employee-Manager-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Employee Manager App

A Employee Management application built with Spring Boot and Angular.
Manages employee records using a REST API, MySQL database, and a responsive frontend.

App Preview

This project is intended to be run locally for demonstration purposes.

Features

  • Create, view, update, and delete employees
  • Search employees by name, email, or job title
  • Display employee details such as job title, phone number, image, status, birthday, hire date, and contract information
  • Employee statistics overview
  • Upcoming birthday, anniversary, and contract-ending sections
  • Responsive Angular frontend
  • RESTful backend API with Spring Boot
  • MySQL database integration

Tech Stack

Backend

  • Java
  • Spring Boot
  • Spring Data JPA
  • Maven
  • MySQL

Frontend

  • Angular
  • TypeScript
  • HTML
  • CSS
  • Bootstrap / Font Awesome

Key Concepts

  • REST API design
  • CRUD operations
  • Frontend-backend integration
  • MySQL database handling
  • Component-based Angular architecture

Project Structure

Employee-Manager-App/
├── backend/
│   └── employee-manager/       # Spring Boot REST API
├── frontend/
│   └── employeemanagerapp/     # Angular frontend application
├── preview.png
└── README.md

Setup and Run

Prerequisites

Make sure you have installed:

  • Java
  • Maven or the included Maven Wrapper
  • Node.js and npm
  • Angular CLI
  • MySQL

Backend Setup

Navigate to the backend project:

cd backend/employee-manager

Run the Spring Boot application:

./mvnw spring-boot:run

On Windows PowerShell, use:

.\mvnw spring-boot:run

The backend runs on:

http://localhost:8080

Frontend Setup

Navigate to the frontend project:

cd frontend/employeemanagerapp

Install dependencies:

npm install

Start the Angular development server:

npm start

The frontend runs on:

http://localhost:4200

Database Configuration

The backend uses MySQL. Update the database settings in:

backend/employee-manager/src/main/resources/application.properties

Example:

spring.datasource.url=jdbc:mysql://localhost:3306/employeemanager
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.jpa.hibernate.ddl-auto=update

Make sure a MySQL database named employeemanager exists before starting the backend.

API Overview

Base URL:

http://localhost:8080/employee
Method Endpoint Description
GET /all Get all employees
GET /find/{id} Get employee by ID
POST /add Add a new employee
PUT /update Update an existing employee
DELETE /delete/{id} Delete an employee

Purpose

This project demonstrates a practical full-stack CRUD application using a Spring Boot REST API, MySQL database, and Angular frontend. It focuses on clean project structure, frontend-backend communication, and real-world employee management functionality.

License

This project is provided for educational and portfolio demonstration purposes.

About

Employee Management app with Java, Angular, REST, and CRUD.

Topics

Resources

Stars

Watchers

Forks

Contributors