کاربران گرامی در این پروژه به شما پروژه کاربردی با جاوا اسکریپت را قرارداده ایم شما عزیزان می توانید از بخش دانلود پروژه کاربردی با جاوااسکریپت سایر پروژه هایی که با جاوا اسکریپت طراحی شده اند را مشاهده و دانلود کنید.
در صورتی که نیاز به آموزش حضوری و یا غیر حضوری این پروژه داشتید میتوانید با ما در ارتباط باشید تا این پروژه را به شما آموزش دهیم حتی میتوانید در صورت دلخواه پروژه را به خواسته شما شخصی سازی کنیم لازم به ذکر است که تیم پروژه در صفحه دانلود پروژه کاربردی پروژه های مختلفی را به زبان های مختلف برنامه نویسی قرار داده است .شماره تماس با پرپروژه 09050394455 می باشد
### سیستم مدیریت بیمارستان با استفاده از Node.js با کد منبع
این پروژه شامل یک سیستم مدیریت بیمارستان است که با استفاده از Node.js و Express.js ساخته شده است. این سیستم به شما این امکان را میدهد که اطلاعات بیمارستان، بیماران، پزشکان و نوبتها را مدیریت کنید. این سیستم میتواند به عنوان یک پروژه کامل برای یادگیری تکنولوژیهای وب و طراحی APIها استفاده شود.
#### ویژگیها و عملکرد سیستم:
1. **مدیریت بیماران**: امکان ثبت، ویرایش و حذف اطلاعات بیماران.
2. **مدیریت پزشکان**: امکان ثبت، ویرایش و حذف اطلاعات پزشکان.
3. **مدیریت نوبتها**: امکان ثبت و مدیریت نوبتهای بیماران با پزشکان.
4. **پایگاه داده**: استفاده از MongoDB برای ذخیرهسازی دادهها.
5. **احراز هویت**: امکان ورود به سیستم برای مدیریت بهتر.
#### پیش نیازها
- نصب Node.js
- نصب MongoDB
- نصب Postman (برای تست APIها)
#### ساختار پروژه
```
hospital-management-system/
│
├── config/
│ └── db.js # تنظیمات پایگاه داده
│
├── models/
│ ├── Patient.js # مدل بیمار
│ ├── Doctor.js # مدل پزشک
│ └── Appointment.js # مدل نوبت
│
├── routes/
│ ├── patients.js # مسیرهای بیماران
│ ├── doctors.js # مسیرهای پزشکان
│ └── appointments.js # مسیرهای نوبتها
│
├── server.js # فایل اصلی سرور
│
├── package.json # اطلاعات پروژه و وابستگیها
│
└── .env # تنظیمات محیطی
```
#### مراحل پیادهسازی
##### 1. نصب وابستگیها
ابتدا، یک پوشه جدید برای پروژه بسازید و وارد آن شوید. سپس با استفاده از دستور زیر پروژه Node.js خود را ایجاد کنید:
```bash
npm init -y
```
سپس وابستگیهای لازم را نصب کنید:
```bash
npm install express mongoose dotenv body-parser
```
##### 2. فایل `db.js`
در پوشه `config`، فایل `db.js` را ایجاد کنید و کد زیر را اضافه کنید:
```javascript
// config/db.js
const mongoose = require('mongoose');
require('dotenv').config();
const connectDB = async () => {
try {
await mongoose.connect(process.env.MONGODB_URI, {
useNewUrlParser: true,
useUnifiedTopology: true
});
console.log('MongoDB Connected');
} catch (error) {
console.error('MongoDB connection error:', error.message);
process.exit(1);
}
};
module.exports = connectDB;
```
##### 3. مدلها
در پوشه `models`، سه فایل برای مدلهای بیمار، پزشک و نوبت ایجاد کنید.
**مدل بیمار (`Patient.js`)**:
```javascript
// models/Patient.js
const mongoose = require('mongoose');
const PatientSchema = new mongoose.Schema({
name: { type: String, required: true },
age: { type: Number, required: true },
gender: { type: String, required: true },
contact: { type: String, required: true }
});
module.exports = mongoose.model('Patient', PatientSchema);
```
**مدل پزشک (`Doctor.js`)**:
```javascript
// models/Doctor.js
const mongoose = require('mongoose');
const DoctorSchema = new mongoose.Schema({
name: { type: String, required: true },
specialization: { type: String, required: true },
contact: { type: String, required: true }
});
module.exports = mongoose.model('Doctor', DoctorSchema);
```
**مدل نوبت (`Appointment.js`)**:
```javascript
// models/Appointment.js
const mongoose = require('mongoose');
const AppointmentSchema = new mongoose.Schema({
patientId: { type: mongoose.Schema.Types.ObjectId, ref: 'Patient', required: true },
doctorId: { type: mongoose.Schema.Types.ObjectId, ref: 'Doctor', required: true },
date: { type: Date, required: true },
time: { type: String, required: true }
});
module.exports = mongoose.model('Appointment', AppointmentSchema);
```
##### 4. مسیرها
در پوشه `routes`، فایلهای مربوط به بیماران، پزشکان و نوبتها را ایجاد کنید.
**مسیر بیماران (`patients.js`)**:
```javascript
// routes/patients.js
const express = require('express');
const Patient = require('../models/Patient');
const router = express.Router();
// ثبت بیمار جدید
router.post('/', async (req, res) => {
try {
const patient = new Patient(req.body);
await patient.save();
res.status(201).json(patient);
} catch (error) {
res.status(400).json({ message: error.message });
}
});
// لیست بیماران
router.get('/', async (req, res) => {
try {
const patients = await Patient.find();
res.json(patients);
} catch (error) {
res.status(500).json({ message: error.message });
}
});
// ویرایش بیمار
router.patch('/:id', async (req, res) => {
try {
const patient = await Patient.findByIdAndUpdate(req.params.id, req.body, { new: true });
res.json(patient);
} catch (error) {
res.status(400).json({ message: error.message });
}
});
// حذف بیمار
router.delete('/:id', async (req, res) => {
try {
await Patient.findByIdAndDelete(req.params.id);
res.json({ message: 'Patient deleted' });
} catch (error) {
res.status(500).json({ message: error.message });
}
});
module.exports = router;
```
**مسیر پزشکان (`doctors.js`)**:
```javascript
// routes/doctors.js
const express = require('express');
const Doctor = require('../models/Doctor');
const router = express.Router();
// ثبت پزشک جدید
router.post('/', async (req, res) => {
try {
const doctor = new Doctor(req.body);
await doctor.save();
res.status(201).json(doctor);
} catch (error) {
res.status(400).json({ message: error.message });
}
});
// لیست پزشکان
router.get('/', async (req, res) => {
try {
const doctors = await Doctor.find();
res.json(doctors);
} catch (error) {
res.status(500).json({ message: error.message });
}
});
// ویرایش پزشک
router.patch('/:id', async (req, res) => {
try {
const doctor = await Doctor.findByIdAndUpdate(req.params.id, req.body, { new: true });
res.json(doctor);
} catch (error) {
res.status(400).json({ message: error.message });
}
});
// حذف پزشک
router.delete('/:id', async (req, res) => {
try {
await Doctor.findByIdAndDelete(req.params.id);
res.json({ message: 'Doctor deleted' });
} catch (error) {
res.status(500).json({ message: error.message });
}
});
module.exports = router;
```
**مسیر نوبتها (`appointments.js`)**:
```javascript
// routes/appointments.js
const express = require('express');
const Appointment = require('../models/Appointment');
const router = express.Router();
// ثبت نوبت جدید
router.post('/', async (req, res) => {
try {
const appointment = new Appointment(req.body);
await appointment.save();
res.status(201).json(appointment);
} catch (error) {
res.status(400).json({ message: error.message });
}
});
// لیست نوبتها
router.get('/', async (req, res) => {
try {
const appointments = await Appointment.find().populate('patientId').populate('doctorId');
res.json(appointments);
} catch (error) {
res.status(500).json({ message: error.message });
}
});
// ویرایش نوبت
router.patch('/:id', async (req, res) => {
try {
const appointment = await Appointment.findByIdAndUpdate(req.params.id, req.body, { new: true });
res.json(appointment);
} catch (error) {
res.status(400).json({ message: error.message });
}
});
// حذف نوبت
router.delete('/:id', async (req, res) => {
try {
await Appointment.findByIdAndDelete(req.params.id);
res.json({ message: 'Appointment deleted' });
} catch (error) {
res.status(500).json({ message: error.message });
}
});
module.exports = router;
```
##### 5. فایل اصلی سرور (`server.js`)
```javascript
// server.js
const express = require('express');
const bodyParser = require('body-parser');
const connectDB = require('./config/db');
const patientsRouter = require('./routes/patients');
const doctorsRouter = require('./routes/doctors');
const appointmentsRouter = require('./routes/appointments');
require('dotenv').config();
const app = express();
const PORT = process.env.PORT || 5000;
// اتصال به پایگاه داده
connectDB();
// Middleware
app.use(bodyParser.json());
// مسیرها
app.use('/api/patients', patientsRouter);
app.use('/api/doctors', doctorsRouter);
app.use('/api/appointments', appointmentsRouter);
// راه اندازی سرور
app.listen(PORT, () => {
console.log(`Server is running on http://localhost:${PORT}`);
});
```
##### 6. تنظیمات محیطی (`.env`)
در ریشه پروژه، یک فایل `.env` ایجاد کنید و اطلاعات پایگاه داده MongoDB خود را اضافه کنید:
```
MONGODB_URI=mongodb://
:@localhost:27017/hospital_management
PORT=5000
```
### نتیجهگیری
این پروژه یک سیستم مدیریت بیمارستان ساده را با استفاده از Node.js و MongoDB پیادهسازی میکند. شما میتوانید این پروژه را گسترش دهید، ویژگیهای جدیدی به آن اضافه کنید، یا طراحی آن را بهبود ببخشید. این سیستم میتواند به شما در یادگیری مفاهیم برنامهنویسی وب و طراحی APIها کمک کند و مهارتهای برنامهنویسی شما را تقویت کند.
| صفحه قابل مشاهده:
دانلود پروژه کاربردی سیستم مدیریت بیمارستان با استفاده از Node.js با کد منبع میباشد