Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Construction Project Management System

This project is a Construction Project Management System built using Java Spring Boot, Apache Kafka, and Swagger for API documentation. It provides a dashboard to manage construction projects, real-time messaging using Kafka, and a RESTful API to interact with the system.

Table of Contents

Introduction

The Construction Project Management System is designed to help construction companies manage their projects efficiently. It offers features such as project tracking, real-time updates via Kafka, and a user-friendly dashboard for managing all aspects of a construction project.

Features

  • Project Management Dashboard
  • Real-time Messaging with Apache Kafka
  • RESTful APIs for Project Management
  • Swagger API Documentation
  • User Authentication and Authorization

Architecture

The system follows a microservices architecture with the following components:

  • Java Spring Boot: Backend service for handling business logic and APIs.
  • Apache Kafka: Messaging system for real-time updates and communication.
  • Swagger: API documentation and testing tool.
  • Database: Relational database for storing project data (e.g., PostgreSQL).

Architecture Diagram

Installation

Prerequisites

  • Java 11 or higher
  • Maven
  • Docker (for running Kafka and PostgreSQL)
  • Node.js and npm (for the frontend)

Backend Setup

  1. Clone the repository:

    cd construction-project-management
  2. Build the backend:

    cd backend
    mvn clean install
  3. Run Kafka and PostgreSQL using Docker:

    docker-compose up -d
  4. Run the Spring Boot application:

    mvn spring-boot:run

Frontend Setup

  1. Navigate to the frontend directory:

    cd ../frontend
  2. Install dependencies:

    npm install
  3. Run the frontend application:

    npm start

Usage

  • Access the project management dashboard at http://localhost:3000.
  • Use the API endpoints documented with Swagger at http://localhost:8080/swagger-ui.html.

API Documentation

The API is documented using Swagger. You can view and test the APIs by navigating to http://localhost:8080/swagger-ui.html once the backend service is running.

Example API Endpoints

  • Create a new project: POST /api/projects
  • Get all projects: GET /api/projects
  • Update a project: PUT /api/projects/{projectId}
  • Delete a project: DELETE /api/projects/{projectId}

Contributing

We welcome contributions from the community. To contribute, please follow these steps:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature-branch).
  3. Make your changes and commit them (git commit -m 'Add new feature').
  4. Push to the branch (git push origin feature-branch).
  5. Create a new Pull Request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

CRUD API

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors