Skip to content

konstantinoskolios/my-doctor-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Setup and Development Guide

Cloning the Project

  1. Use the command git clone https://github.com/SylvanasGr/my-doctor-app to download and clone the project.
  2. Open the project located at ../my-doctor-app.

Setting Up Keycloak

  1. Follow the instructions provided in my-doctor-app/api-gateway/keycloak.md.

Starting Microservices

  1. Start the microservices in the following sequence:
    • a) discovery-server
    • b) configuration-service
    • c) api-gateway
    • d) my-doctor-app-service
    • e) payment-service
    • f) appointment-service

Initial Setup (Skip if already completed)

  1. Open a terminal and navigate to ~/my-doctor-app-service/liquibase/changelog. Execute liquibase update to create the schemas.
  2. Run the script located at ./global/bash_scripts/citizen_mock_data.sh.

Development Steps

  1. Select a random record from the 'citizen' table and assume the identity of that user. (SELECT * FROM citizen ORDER BY random() LIMIT 1)
  2. Visit http://localhost:8500/login, select 'Login' -> 'Keycloak', then choose 'Register'.
  3. Provide your real information, excluding the data from the user selected in step 7.
  4. Upon successful login, navigate to the 'User Page' to validate your existence by providing your tax number and social number to the system.
  5. Enter the tax number and social number as indicated in step 7.
  6. If the record from step 7 now reflects your data, it simulates the process of mock data generation, similar to a real scenario on the Greek Government site.
  7. Navigate to the 'Doctors' tab to request an appointment.
  8. Choose 'Schedule Appointment' and select a date and time.
  9. Go to the 'Appointments' tab to view the status of your appointment.
  10. Open another browser, log in as the chosen doctor from step 15, and navigate to 'Appointments' to accept the appointment.
  11. Refresh the page to validate that the appointment has been accepted (Status: Accepted), and check the 'Payments' tab to view the payment history.
  12. You can also verify the same process from the perspective of a doctor.
  13. As a doctor, add the patient for the appointment using the 'Add Patient' button and prescribe necessary medications (Add Prescriptions).
  14. Check the associated prescriptions from the 'Prescription' tab as a user.

Tools Installation

To efficiently work on the project, ensure you have the following tools installed:

  1. Git: Version control system for tracking changes in source code during development.

  2. Gradle: Build automation tool for managing dependencies and building projects.

  3. JDK 17: Java Development Kit, the environment required to develop and run Java applications.

  4. Docker Desktop: Platform for building, sharing, and running containerized applications.

  5. Liquibase: Database schema change management tool for tracking, managing, and applying database changes.

  6. Python: Optional, but useful for various scripting and development tasks.

Make sure to install the appropriate versions compatible with your operating system. Additionally, consider using an Integrated Development Environment (IDE) for a more efficient development experience. JetBrains IntelliJ IDEA is recommended, but feel free to choose the IDE you're most comfortable with.