Skip to content

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

MedicalSystem

Overview

MedicalSystem is a comprehensive hospital management system developed as part of an Introduction to Software Engineering course. It provides a robust platform for managing hospital operations, including appointment scheduling, patient and doctor management, drug and prescription tracking, and real-time communication features. The system is built with a modern tech stack, featuring a Java Spring Boot backend, a ReactJS frontend, and Knex.js for database management.

Tech Stack

Medical-System is a hospital management system consisting of three main components:

  • Back-end: RESTful API built with Java Spring Boot.
  • Front-end: ReactJS web application for end users.
  • Database Migration: Uses Knex.js for schema management and seeding data.

Features

  • Appointment Scheduling: Streamlined booking and management of patient appointments.
  • Patient and Doctor Management: Efficiently manage patient records and doctor profiles.
  • Drug and Prescription Management: Track medications, prescriptions, and medical histories.
  • Real-Time Communication: Integrated chat and video call functionalities for patient-doctor interactions.
  • Online Payments: Secure payment processing via VNPAY integration.
  • Drug Search: Searchable database for medications and prescriptions.

Project Structure

MedicalSystem/
├── back-end/           # Java Spring Boot RESTful API
├── db_migration/       # Database migrations and seeding with Knex.js
├── front-end/          # ReactJS web application
├── README.md           # Project documentation

System Requirements

  • Node.js: >= 14.x (for frontend and database migrations)
  • Java: >= 17 (for backend)
  • Maven: For building the backend
  • SQL Server: For database storage
  • Git: For version control

Installation

1. Clone the Repository

git clone https://github.com/jamess19/MedicalSystem.git
cd MedicalSystem

2. Database Migration

  1. Install dependencies:
cd db_migration
npm install
  1. Configure database connection in db_migration/knexfile.js and .env. Example .env:
DB_HOST=localhost
DB_PORT=1433
DB_USER=your_username
DB_PASSWORD=your_password
DB_NAME=medical_system
  1. Run migrations and seeders:
npx knex migrate:latest
npx knex seed:run

3. Backend Setup (Spring Boot)

  1. Install dependencies:
cd back-end
./mvnw clean install
  1. Configure database in back-end/src/main/resources/application.properties. Example:
spring.datasource.url=jdbc:sqlserver://localhost:1433;databaseName=medical_system
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.jpa.hibernate.ddl-auto=update
  1. Start the backend server:
./mvnw spring-boot:run

The API will be available at http://localhost:8080.

4. Frontend Setup (ReactJS)

  1. Install dependencies:
cd front-end
npm install
  1. Start the frontend application:
npm start

The application will be available at http://localhost:3000.

Usage

  1. Access the Application: Open http://localhost:3000 in your browser.
  2. Manage Hospital Operations: Use the interface to schedule appointments, manage patient/doctor records, and track prescriptions.
  3. Communicate: Utilize chat and video call features for patient-doctor interactions.
  4. Process Payments: Complete transactions securely via the VNPAY integration.
  5. Search Drugs: Access the drug search feature to find medications and manage prescriptions.

Useful Commands

  • Backend:
    • Build: ./mvnw clean install
    • Run: ./mvnw spring-boot:run
  • Frontend:
    • Run: npm start
    • Build: npm run build
  • Database Migration:
    • Migrate: npx knex migrate:latest
    • Seed: npx knex seed:run

Tech Stack

  • Frontend: ReactJS, JavaScript, HTML, CSS
  • Backend: Java, Spring Boot
  • Database: SQL Server, Knex.js
  • Tools: Maven, Node.js, Git, GitHub, VS Code, Postman

Contributing

Contributions are welcome! To contribute:

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

Please ensure your code adheres to the project's coding standards and includes relevant tests.

License

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

Contact

For questions or feedback, reach out to Nguyen Quang Thong or open an issue on GitHub.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages