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.
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.
- 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.
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
- 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
git clone https://github.com/jamess19/MedicalSystem.git
cd MedicalSystem- Install dependencies:
cd db_migration
npm install- Configure database connection in
db_migration/knexfile.jsand.env. Example.env:
DB_HOST=localhost
DB_PORT=1433
DB_USER=your_username
DB_PASSWORD=your_password
DB_NAME=medical_system- Run migrations and seeders:
npx knex migrate:latest
npx knex seed:run- Install dependencies:
cd back-end
./mvnw clean install- 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- Start the backend server:
./mvnw spring-boot:runThe API will be available at http://localhost:8080.
- Install dependencies:
cd front-end
npm install- Start the frontend application:
npm startThe application will be available at http://localhost:3000.
- Access the Application: Open
http://localhost:3000in your browser. - Manage Hospital Operations: Use the interface to schedule appointments, manage patient/doctor records, and track prescriptions.
- Communicate: Utilize chat and video call features for patient-doctor interactions.
- Process Payments: Complete transactions securely via the VNPAY integration.
- Search Drugs: Access the drug search feature to find medications and manage prescriptions.
- Backend:
- Build:
./mvnw clean install - Run:
./mvnw spring-boot:run
- Build:
- Frontend:
- Run:
npm start - Build:
npm run build
- Run:
- Database Migration:
- Migrate:
npx knex migrate:latest - Seed:
npx knex seed:run
- Migrate:
- Frontend: ReactJS, JavaScript, HTML, CSS
- Backend: Java, Spring Boot
- Database: SQL Server, Knex.js
- Tools: Maven, Node.js, Git, GitHub, VS Code, Postman
Contributions are welcome! To contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature). - Commit your changes (
git commit -m 'Add your feature'). - Push to the branch (
git push origin feature/your-feature). - Open a Pull Request.
Please ensure your code adheres to the project's coding standards and includes relevant tests.
This project is licensed under the MIT License. See the LICENSE file for details.
For questions or feedback, reach out to Nguyen Quang Thong or open an issue on GitHub.