{"id":21046613,"url":"https://github.com/linux-vps/medical-appointment","last_synced_at":"2025-05-15T19:31:11.572Z","repository":{"id":245078834,"uuid":"817162883","full_name":"linux-vps/medical-appointment","owner":"linux-vps","description":"Medical Appointment website in Java, using JDBC, JSP Serverlet, javascript và bootstrap, Mysql, Ubuntu deploy.","archived":false,"fork":false,"pushed_at":"2024-08-10T13:02:00.000Z","size":51068,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-03T13:13:22.847Z","etag":null,"topics":["appoi","bootstrap5","jdbc","medical","schedule","ubuntu"],"latest_commit_sha":null,"homepage":"http://14.189.206.99/MedicalAppointment/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/linux-vps.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-19T06:38:31.000Z","updated_at":"2025-03-18T05:26:00.000Z","dependencies_parsed_at":"2024-11-19T14:41:12.259Z","dependency_job_id":"e5453ad2-6235-4d62-84f5-c294281e2a31","html_url":"https://github.com/linux-vps/medical-appointment","commit_stats":null,"previous_names":["dnminh2003/medical-appointment","linux-vps/medical-appointment"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linux-vps%2Fmedical-appointment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linux-vps%2Fmedical-appointment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linux-vps%2Fmedical-appointment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linux-vps%2Fmedical-appointment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/linux-vps","download_url":"https://codeload.github.com/linux-vps/medical-appointment/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254407280,"owners_count":22066207,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["appoi","bootstrap5","jdbc","medical","schedule","ubuntu"],"created_at":"2024-11-19T14:31:07.284Z","updated_at":"2025-05-15T19:31:11.126Z","avatar_url":"https://github.com/linux-vps.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WEBSITE ĐẶT LỊCH KHÁM BỆNH MEDICAL APPOINTMENT\n Kỹ thuật liên quan: JDBC, JSP Serverlet, javascript và bootstrap, Mysql, Ubuntu deploy.\n##### Demo video: https://youtu.be/WwUKw5YcQ8M\n##### Testing accounts:\nFor testing purposes, you can use the following credentials for each role:\n###### Patient\n\n- Username: patient\n- Password: patient\n###### Doctor\n\n- Username: doctor\n- Password: doctor\n###### Admin\n\n- Username: admin\n- Password: admin\n\n\u003ca href=\"https://youtu.be/WwUKw5YcQ8M\"\u003e\n  \u003cimg src=\"pics/home.png\" width=\"75%\" /\u003e\n\u003c/a\u003e\n\n\n# \u003ca name=\"_toc155293392\"\u003e\u003c/a\u003e**TÀI LIỆU HƯỚNG DẪN SỬ DỤNG**\n## \u003ca name=\"_3s6kh4uclvtw\"\u003e\u003c/a\u003e\u003ca name=\"_toc155293393\"\u003e\u003c/a\u003e**Hướng dẫn cài đặt chương trình** \n### \u003ca name=\"_toc155293394\"\u003e\u003c/a\u003e**Cấu hình, cài đặt môi trường phát triển**\n- Cài đặt JDK (Java Development Kit): tải và cài đặt từ trang chính của Oracle hoặc OpenJDK. \u003chttps://www.java.com/en/\u003e\n- Cài đặt cơ sở dữ liệu MySql: tải và cài đặt mysql từ trang chính https://www.mysql.com/downloads/\n- Cài đặt IDE (Intergrated Development Environment): sử dụng IDE phổ biến như Eclipse, IntelliJ IDEA (tải từ JetBrains) hoặc NetBeans để phát triển:\n\n##### \u003ca name=\"_toc155293306\"\u003e\u003c/a\u003e*. Hướng dẫn cài đặt Apache Tomcat Server*\n- Cài đặt Apache Tomcat:\n  - Apache Tomcat là máy chủ ứng dụng để chạy ứng dụng web java.\n  - Thiết lập biến môi trường để Tomcat có thể được sử dụng toàn cục. Nếu sử dụng Eclipse, có thể tải Tomcat từ Eclipse Marketplace.\n\n##### \u003ca name=\"_toc155293305\"\u003e\u003c/a\u003e*. Hướng dẫn tải Esclipse IDE*\n- Cấu hình IDE với JDK và Tomcat: thiết lập đường dẫn:\n  - Eclipse: Window \u003e Preferences \u003e Java \u003e Installed JREs và Window \u003e Preferences \u003e Server \u003e Runtime Environments.\n  - IntelliJ IDEA: File \u003e Project Structure \u003e Project \u003e Project SDK và Run/Debug Configurations \u003e Edit Configurations.\n- Tạo dự án Java Web:\n  - Eclipse: File \u003e New \u003e Dynamic Web Project.\n  - IntelliJ IDEA: File \u003e New \u003e Project \u003e Spring Initializer hoặc File \u003e New \u003e Project \u003e Java Enterprise.\n- Thêm thư viện JDBC cho cơ sở dữ liệu: đối với MySQL, sử dụng MySQL Connector/J, thêm file jar vào thư mục lib của webapp.\n\n##### \u003ca name=\"_toc155293307\"\u003e\u003c/a\u003e*Hướng dẫn cấu hình thư viện JDBC*\n### \u003ca name=\"_toc155293395\"\u003e\u003c/a\u003e**Cài đặt chương trình**\n- \u003ca name=\"_ag3mrokjqbx\"\u003e\u003c/a\u003e\u003ca name=\"_cekbljpum1r5\"\u003e\u003c/a\u003e\u003ca name=\"_9nz49srhfsr1\"\u003e\u003c/a\u003eTải mã nguồn về máy từ github: \u003chttps://github.com/linux-vps/medical-appointment.git\u003e\n\n\u003ca name=\"_ixoc3in447ea\"\u003e\u003c/a\u003e\\*Sau khi tải thành công các công cụ, trình quản lý và mã nguồn, thực hiện chạy chương trình.\n\n- Tạo cơ sở dữ liệu MySQL:\n  - Trong MySQL workbench, tạo Schemas tên data\\_healthcare, chọn và chạy mã sql.\n  - Tạo user có tên “medical” và password “123456”.\n  - Có thể tạo với tên khác nhau nhưng cần chỉnh sửa mã nguồn để hệ thống có thể khởi động.\n\n- Chạy chương trình trên Eclipse sau khi cài đặt, cấu hình môi trường:\n  - Mở project đã tải về:\n\n##### \u003ca name=\"_toc155293308\"\u003e\u003c/a\u003e*. Hướng dẫn mở chương trình trên Eclipse*\n- Click chuột phải và chọn run on server:\n\n##### \u003ca name=\"_toc155293309\"\u003e\u003c/a\u003e*Hướng dẫn chạy chương trình trên server*\n- Chọn Apache Tomcat Server và chọn finish:\n\n##### \u003ca name=\"_toc155293310\"\u003e\u003c/a\u003e*Hướng dẫn mở server chạy chương trình*\n## \u003ca name=\"_nz0gm0cpj2x4\"\u003e\u003c/a\u003e\u003ca name=\"_8orytde279bh\"\u003e\u003c/a\u003e\u003ca name=\"_toc155293396\"\u003e\u003c/a\u003e**Hướng dẫn sử dụng** \n### \u003ca name=\"_z3panr8pcsih\"\u003e\u003c/a\u003e\u003ca name=\"_toc155293397\"\u003e\u003c/a\u003e**Đăng nhập vào chương trình** \n\u003ca name=\"_obmvmzl4mq0l\"\u003e\u003c/a\u003e\tSau khi truy cập vào trương trình từ địa chỉ local host, trên giao diện màn hình chính có 2 trường Tài khoản và Mật khẩu, người dùng sử dụng tài khoản và mật khẩu có trong cơ sở dữ liệu từ trước để đăng nhập vào hệ thống. Nếu muốn tạo một tài khoản mới, có thể vào trang đăng ký để tạo mới.\n\n##### \u003ca name=\"_toc155293311\"\u003e\u003cimg src=\"pics/login.png\" width=\"75%\" /\u003e\u003c/a\u003e*Màn hình đăng nhập*\n\u003ca name=\"_84g7g43z7sv4\"\u003e\u003c/a\u003e\tNhập tài khoản vào trường tài khoản. Nhập mật khẩu vào trường mật khẩu. Nhấn đăng nhập. Hệ thống sẽ kiểm tra tính chính xác của thông tin tài khoản mật khẩu. Nếu đúng, với tài khoản bệnh nhân, hệ thống sẽ điều hướng đến trang chủ của bệnh nhân, với tài khoản bác sĩ, hệ thống sẽ điều hướng đến trang dashboard của bác sĩ và nếu đúng với tài khoản quản trị, hệ thống sẽ điều hướng đến trang quản trị.\n\n##### \u003ca name=\"_j79g2bw5gnu\"\u003e\u003c/a\u003e\u003ca name=\"_toc155293312\"\u003e\u003c/a\u003e*Màn hình Dashboard của bệnh nhân*\n\n##### \u003ca name=\"_toc155293313\"\u003e\u003cimg src=\"pics/doctor.png\" width=\"75%\" /\u003e\u003c/a\u003e*Màn hình Dashboard của bác sĩ*\n\n##### \u003ca name=\"_toc155293314\"\u003e\u003cimg src=\"pics/admin.png\" width=\"75%\" /\u003e\u003c/a\u003e*Màn hình Dashboard của admin*\n### \u003ca name=\"_1uow20hk05s9\"\u003e\u003c/a\u003e\u003ca name=\"_toc155293398\"\u003e\u003c/a\u003e**Các chức năng xử lý nghiệp vụ**\n#### \u003ca name=\"_iy1btsvggkwo\"\u003e\u003c/a\u003e\t**Đặt lịch khám bệnh**\nSau khi tìm kiếm bác sĩ, người dùng được chuyển đến trang chọn lịch để chọn thời gian thăm khám.\n\n##### \u003ca name=\"_toc155293315\"\u003e\u003c/a\u003e*Màn hình chọn lịch khám*\nSau khi chọn được thời gian mong muốn, ta click vào “Tiến hành đặt lịch” để tiến hành đặt lịch khám bệnh với bác sĩ đó. Người dùng sẽ được chuyển đến trang xác nhận thông tin.\n\n##### \u003ca name=\"_1psai8wn0ol5\"\u003e\u003c/a\u003e\u003ca name=\"_toc155293316\"\u003e\u003c/a\u003e*Màn hình xác nhận hẹn khám*\nMàn hình xác nhận thông tin có thông tin cá nhân của người dùng và tóm tắt lịch hẹn. Khi người dùng click vào “xác nhận hẹn khám”, lịch hẹn khám bệnh sẽ được đặt và người dùng được chuyển đến trang thông báo thành công.\n\n##### \u003ca name=\"_1f9rrphr8a12\"\u003e\u003c/a\u003e\u003ca name=\"_2woc6jyvaiuw\"\u003e\u003c/a\u003e\u003ca name=\"_toc155293317\"\u003e\u003c/a\u003e*Màn hình thông báo đặt lịch thành công*\n#### \u003ca name=\"_kyy5acswjv9r\"\u003e\u003c/a\u003e**Xem lịch hẹn (bác sĩ)**\n\u003ca name=\"_772d2vjxwq50\"\u003e\u003c/a\u003e\u003ca name=\"_ezp97pyulzyq\"\u003e\u003c/a\u003eTrong chức năng xem lịch hẹn, bác sĩ có thể chấp nhận hoặc hủy bỏ lịch hẹn.\n\nSau khi đăng nhập bằng tài khoản bác sĩ, màn hình dashboard của bác sĩ được hiển thị với thống kê tổng số bệnh nhân, lịch hẹn hôm nay danh sách các lịch hẹn. \n\n##### \u003ca name=\"_toc155293318\"\u003e\u003c/a\u003e*Mành hình Dashboard bác sĩ*\n\u003ca name=\"_jwmysxp7ucsk\"\u003e\u003c/a\u003e\u003ca name=\"_gggnnd367qgt\"\u003e\u003c/a\u003e\tTrong danh sách lịch hẹn, chọn “Accept” để chấp nhận một lịch hẹn cụ thể và chọn “Cancel” để hủy lịch hẹn đó, một thông báo sẽ được hiện lên khi chấp nhận hoặc hủy lịch hẹn thành công hoặc thất bại.\n\n##### \u003ca name=\"_toc155293319\"\u003e\u003c/a\u003e*. Màn hình chấp nhận lịch hẹn*\n\n##### \u003ca name=\"_toc155293320\"\u003e\u003c/a\u003e*Màn hình hủy lịch hẹn*\n#### \u003ca name=\"_chz59mecugiy\"\u003e\u003c/a\u003e**Quản lý chuyên ngành**\n\u003ca name=\"_vveyycgnrswy\"\u003e\u003c/a\u003eTrong chức năng quản lý chuyên ngành được phân chia thành 3 chức năng con bao gồm: Thêm chuyên ngành, sửa chuyên ngành và xóa chuyên ngành.\n\n\u003ca name=\"_uharcdo91qy6\"\u003e\u003c/a\u003eSau khi đăng nhập, màn hình chính của trang web sẽ có menu điều hướng, để có thể đi đến chức năng quản lý chuyên ngành ta click vào “Specialities” trong menu.\n\n##### \u003ca name=\"_n09u801dc0cx\"\u003e\u003c/a\u003e\u003ca name=\"_toc155293321\"\u003e\u003c/a\u003e*. Màn hình quản lý chuyên ngành*\n\u003ca name=\"_nmie24l4wmqt\"\u003e\u003c/a\u003eMàn hình quản lý chuyên ngành có danh sách các chuyên ngành và thông tin cơ bản về chuyên ngành y tế của hệ thống. Bên trên là chức năng thêm chuyên ngành.\n\n- \u003ca name=\"_dq3d4khqnkhf\"\u003e\u003c/a\u003eThêm chuyên ngành:\n\n\u003ca name=\"_cerg8bc2qltw\"\u003e\u003c/a\u003eClick vào nút “Thêm chuyên ngành” để sử dụng chức năng này, người dùng nhập các trường thông tin sau đó bấm nút “Thêm” để thêm chuyên ngành hoặc nút “x” để hủy.\n\n##### \u003ca name=\"_xgu0549f6vvm\"\u003e\u003c/a\u003e\u003ca name=\"_toc155293322\"\u003e\u003c/a\u003e*. Màn hình thêm chuyên ngành*\n- \u003ca name=\"_jj9mx1sphvcg\"\u003e\u003c/a\u003eXóa chuyên ngành:\n\n\u003ca name=\"_fav7eve5vkn2\"\u003e\u003c/a\u003eKhi muốn xóa, click vào “xóa” hiển thị ở góc phải chuyên ngành để thực hiện chức năng xóa chuyên ngành. Chọn “Xóa” để xóa chuyên ngành hoặc chọn “Không để” để hủy.\n\n##### \u003ca name=\"_t5tqnulc3it4\"\u003e\u003c/a\u003e\u003ca name=\"_toc155293323\"\u003e\u003c/a\u003e*. Màn hình xóa chuyên ngành*\n## \u003ca name=\"_4qkplw6nbk58\"\u003e\u003c/a\u003e\u003ca name=\"_toc155293399\"\u003e\u003c/a\u003e**Hướng dẫn xử lý một số lỗi**\n- \u003ca name=\"_2cbb22rwwr54\"\u003e\u003c/a\u003eNếu gặp lỗi về vấn đề  trùng server không tìm thấy hoặc lỗi, hãy khởi động lại esclipse và chạy lại chương trình.\n- \u003ca name=\"_j1cqar1bmf9h\"\u003e\u003c/a\u003eNếu chương trình hiển thị lỗi HTML 404 not found, đó là do một số trang của hệ thống chưa được nâng cấp, hãy bấm quay lại để sử dụng các tính năng khác.\n\n\u003ca name=\"_mgqvdb9umrd\"\u003e\u003c/a\u003e12\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinux-vps%2Fmedical-appointment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinux-vps%2Fmedical-appointment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinux-vps%2Fmedical-appointment/lists"}