Hospital Management System application development code using springboot microservice and mongo database


Introduction


This document helps our developer to understand and start developing springBoot and MongoDB-based applications. This is a very simple project and users can copy and extend it.

Here’s an example of how you can develop a Hospital Management System application using Spring Boot microservices and MongoDB:

  1. Set up your development environment:

    • Install Java Development Kit (JDK)
    • Install Apache Maven
    • Install MongoDB

  2. Create a new Spring Boot project using the Spring Initializr (https://start.spring.io/):

    • Choose the required dependencies: Spring Web, Spring Data MongoDB, and Spring Boot DevTools.
    • Generate and download the project.

  3. Create a MongoDB configuration file (application.properties) in the src/main/resources directory:

spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
spring.data.mongodb.database=hospitaldb

4. Create a Hospital entity class representing a hospital in src/main/java/com/example/hospital/entity/Hospital.java:

import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

@Document(collection = "hospitals")
public class Hospital {
    @Id
    private String id;
    private String name;
    // other attributes, constructors, getters, setters
}

5. Create a HospitalRepository interface in src/main/java/com/example/hospital/repository/HospitalRepository.java:

import org.springframework.data.mongodb.repository.MongoRepository;

public interface HospitalRepository extends MongoRepository<Hospital, String> {
}

6. Create a HospitalService class in src/main/java/com/example/hospital/service/HospitalService.java:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;

@Service
public class HospitalService {
    @Autowired
    private HospitalRepository hospitalRepository;

    public List<Hospital> getAllHospitals() {
        return hospitalRepository.findAll();
    }

    public Hospital getHospitalById(String id) {
        return hospitalRepository.findById(id).orElse(null);
    }

    public Hospital saveHospital(Hospital hospital) {
        return hospitalRepository.save(hospital);
    }

    public void deleteHospital(String id) {
        hospitalRepository.deleteById(id);
    }
}

7. Create a HospitalController class in src/main/java/com/example/hospital/controller/HospitalController.java:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;

@RestController
@RequestMapping("/hospitals")
public class HospitalController {
    @Autowired
    private HospitalService hospitalService;

    @GetMapping
    public List<Hospital> getAllHospitals() {
        return hospitalService.getAllHospitals();
    }

    @GetMapping("/{id}")
    public Hospital getHospitalById(@PathVariable String id) {
        return hospitalService.getHospitalById(id);
    }

    @PostMapping
    public Hospital saveHospital(@RequestBody Hospital hospital) {
        return hospitalService.saveHospital(hospital);
    }

    @DeleteMapping("/{id}")
    public void deleteHospital(@PathVariable String id) {
        hospitalService.deleteHospital(id);
    }
}

8. Run the application:

  • Open a terminal, navigate to the project’s root directory, and execute the following command:

mvn spring-boot:run

9. Test the application:

Use tools like cURL, Postman, or any REST client to interact with the endpoints:

GET http://localhost:8080/hospitals – Get all hospitals

GET http://localhost:8080/hospitals/{id} – Get a specific hospital by ID

`

POST http://localhost:8080/hospitals` – Create a new hospital (provide JSON payload) – DELETE http://localhost:8080/hospitals/{id} – Delete a hospital by ID

This is a basic example to get you started. You can extend it further by adding more entities, repositories, services, and controllers to manage other aspects of the hospital management system, such as doctors, patients, appointments, etc. Remember to handle exceptions, add validations, and secure the application as needed.

Leave a Reply

Your email address will not be published. Required fields are marked *