Skip to content

Commit eb4cbe3

Browse files
committed
ecomerce and hospital management moded added
1 parent ea89474 commit eb4cbe3

File tree

9 files changed

+240
-0
lines changed

9 files changed

+240
-0
lines changed

.vscode/settings.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"remote.autoForwardPortsFallback": 0
3+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import mongoose from "mongoose";
2+
3+
const categorySchema = new mongoose.Schema(
4+
{
5+
name: {
6+
type: String,
7+
required: true,
8+
},
9+
},
10+
{ timestamps: true }
11+
);
12+
13+
export const Category = mongoose.model("Category", categorySchema);
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
import mongoose from "mongoose";
2+
3+
const orderItemSchema = new mongoose.Schema({
4+
productId: {
5+
type: mongoose.Schema.Types.ObjectId,
6+
ref: "Product",
7+
},
8+
quantity: {
9+
type: Number,
10+
required: true,
11+
},
12+
});
13+
14+
const orderSchema = new mongoose.Schema(
15+
{
16+
orderPrice: {
17+
type: Number,
18+
required: true,
19+
},
20+
customer: {
21+
type: mongoose.Schema.Types.ObjectId,
22+
ref: "User",
23+
},
24+
orderItems: {
25+
type: [orderItemSchema],
26+
},
27+
address: {
28+
type: String,
29+
required: true,
30+
},
31+
status: {
32+
type: String,
33+
enum: ["PENDING", "CANCELLED", "DELIVERED"],
34+
default: "PENDING",
35+
},
36+
},
37+
{ timestamps: true }
38+
);
39+
40+
export const Order = mongoose.model("Order", orderSchema);
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import mongoose from "mongoose";
2+
3+
const productSchema = new mongoose.Schema(
4+
{
5+
name: {
6+
type: String,
7+
required: true,
8+
},
9+
description: {
10+
type: String,
11+
required: true,
12+
},
13+
productImage: {
14+
type: String,
15+
},
16+
price: {
17+
type: Number,
18+
default: 0,
19+
},
20+
stock: {
21+
type: Number,
22+
default: 0,
23+
},
24+
category: {
25+
type: mongoose.Schema.Types.ObjectId,
26+
ref: "Category",
27+
required: true,
28+
},
29+
owner: {
30+
type: mongoose.Schema.Types.ObjectId,
31+
ref: "User",
32+
},
33+
},
34+
{ timestamps: true }
35+
);
36+
37+
export const Product = mongoose.model("Product", productSchema);
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import mongoose from "mongoose";
2+
3+
const userSchema = new mongoose.Schema(
4+
{
5+
username: {
6+
type: String,
7+
required: true,
8+
unique: true,
9+
lowercase: true,
10+
},
11+
email: {
12+
type: String,
13+
required: true,
14+
unique: true,
15+
lowercase: true,
16+
},
17+
password: {
18+
type: String,
19+
required: true,
20+
},
21+
},
22+
{ timestamps: true }
23+
);
24+
25+
export const User = mongoose.model("User", userSchema);
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
import mongoose from "mongoose";
2+
3+
const doctorSchema = new mongoose.Schema(
4+
{
5+
name: {
6+
type: String,
7+
required: true,
8+
},
9+
specialization: {
10+
type: String,
11+
required: true,
12+
},
13+
contactNumber: {
14+
type: String,
15+
required: true,
16+
},
17+
salary: {
18+
type: Number,
19+
required: true,
20+
},
21+
qualification: {
22+
type: String,
23+
required: true,
24+
},
25+
experience: {
26+
type: Number,
27+
default: 0,
28+
},
29+
worksInHospitals: {
30+
type: [
31+
{
32+
type: mongoose.Schema.Types.ObjectId,
33+
ref: "Hospital",
34+
},
35+
],
36+
},
37+
},
38+
{ timestamps: true }
39+
);
40+
41+
export const Doctor = mongoose.model("Doctor", doctorSchema);
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import mongoose from "mongoose";
2+
3+
const hospitalSchema = new mongoose.Schema(
4+
{
5+
name: {
6+
type: String,
7+
required: true,
8+
},
9+
address: {
10+
type: String,
11+
required: true,
12+
},
13+
city: {
14+
type: String,
15+
required: true,
16+
},
17+
pincode: {
18+
type: String,
19+
required: true,
20+
},
21+
specializedIn: {
22+
type: [
23+
{
24+
type: String,
25+
},
26+
],
27+
},
28+
},
29+
{ timestamps: true }
30+
);
31+
32+
export const Hospital = mongoose.model("Hospital", hospitalSchema);
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import mongoose from "mongoose";
2+
3+
4+
const medicalRecordSchema = new mongoose.Schema({},{timestamps:true});
5+
6+
export const MedicalRecord = mongoose.model("MedicalRecord", medicalRecordSchema);
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import mongoose from "mongoose";
2+
3+
const patientSchema = new mongoose.Schema(
4+
{
5+
name: {
6+
type: String,
7+
required: true,
8+
},
9+
dignosedWith: {
10+
type: String,
11+
required: true,
12+
},
13+
address: {
14+
type: String,
15+
required: true,
16+
},
17+
age: {
18+
type: Number,
19+
required: true,
20+
},
21+
gender: {
22+
type: String,
23+
enum: ["MALE", "FEMALE", "OTHER"],
24+
required: true,
25+
},
26+
bloodGroup: {
27+
type: String,
28+
enum: ["A+", "A-", "B+", "B-", "O+", "O-", "AB+", "AB-"],
29+
required: true,
30+
},
31+
admittedIn:{
32+
type: mongoose.Schema.Types.ObjectId,
33+
ref: "Hospital",
34+
},
35+
associatedWith:{
36+
type: mongoose.Schema.Types.ObjectId,
37+
ref: "Doctor",
38+
}
39+
},
40+
{ timestamps: true }
41+
);
42+
43+
export const Patient = mongoose.model("Patient", patientSchema);

0 commit comments

Comments
 (0)