Skip to content

Commit bdcab33

Browse files
committed
Clean version without binary files
0 parents  commit bdcab33

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+7878
-0
lines changed

.github/action.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: Check file size
2+
on:
3+
pull_request:
4+
branches: [main]
5+
6+
# to run this workflow manually from the Actions tab
7+
workflow_dispatch:
8+
9+
jobs:
10+
sync-to-hub:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Check large files
14+
uses: ActionsDesk/lfs-warning@v2.0
15+
with:
16+
filesizelimit: 10485760 # this is 10MB

.github/workflows/main.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: Sync to Hugging Face hub For Node backend
2+
on:
3+
push:
4+
branches: [main]
5+
# to run this workflow manually from the Actions tab
6+
workflow_dispatch:
7+
8+
jobs:
9+
sync-to-hub:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: actions/checkout@v3
13+
with:
14+
fetch-depth: 0
15+
lfs: true
16+
- name: Push to hub
17+
env:
18+
HF_TOKEN: ${{ secrets.HF_TOKEN }}
19+
run: git push https://ImashaNawodi:$HF_TOKEN@huggingface.co/spaces/ImashaNawodi/NodeBackendNew main

.gitignore

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2+
3+
# dependencies
4+
/node_modules
5+
/.pnp
6+
.pnp.js
7+
8+
# testing
9+
/coverage
10+
11+
# production
12+
/build
13+
/uploads
14+
/tmp
15+
16+
# images and binary assets
17+
/public/images/virtualCharacters/
18+
/uploads/
19+
/tmp/
20+
/*.png
21+
*.png
22+
*.jpg
23+
*.jpeg
24+
*.gif
25+
*.bmp
26+
27+
# environment files
28+
.env
29+
.env.local
30+
.env.*.local
31+
.env.development.local
32+
.env.test.local
33+
.env.production.local
34+
35+
# misc
36+
.DS_Store
37+
npm-debug.log*
38+
yarn-debug.log*
39+
yarn-error.log*
40+
41+
# local source extras
42+
src/Extra/

README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
title: NodeBackend
3+
emoji: 🏢
4+
colorFrom: blue
5+
colorTo: yellow
6+
sdk: docker
7+
pinned: false
8+
---
9+
10+
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference

doctor.js

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
require("dotenv").config();
2+
const mongoose = require("mongoose");
3+
const bcrypt = require("bcryptjs");
4+
const User = require("./src/models/userModel");
5+
const { encryptText } = require("./src/utils/encryption");
6+
7+
async function createDoctor() {
8+
try {
9+
await mongoose
10+
.connect(process.env.MONGODB_URI)
11+
.then(() => {
12+
console.log("MongoDB connected successfully");
13+
})
14+
.catch((err) => {
15+
console.error("MongoDB connection error:", err);
16+
});
17+
18+
const email = process.env.DOCTOR_EMAIL;
19+
const password = process.env.DOCTOR_PASSWORD;
20+
21+
const encryptedEmail = encryptText(email);
22+
const hashedPassword = await bcrypt.hash(password, 10);
23+
24+
const existing = await User.findOne({ email: encryptedEmail });
25+
if (existing) {
26+
console.log("Doctor already exists!");
27+
process.exit(0);
28+
}
29+
30+
const doctor = new User({
31+
email: encryptedEmail,
32+
password: hashedPassword,
33+
role: "doctor",
34+
});
35+
36+
await doctor.save();
37+
console.log("Doctor account created successfully!");
38+
process.exit(0);
39+
} catch (err) {
40+
console.error(err);
41+
process.exit(1);
42+
}
43+
}
44+
45+
createDoctor();

index.js

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
require("dotenv").config();
2+
const express = require("express");
3+
const mongoose = require("mongoose");
4+
const cors = require("cors");
5+
const passport = require("passport");
6+
const session = require("express-session");
7+
require("./passport");
8+
const app = express();
9+
app.use(express.json());
10+
const cookieParser = require("cookie-parser");
11+
app.use(cookieParser());
12+
13+
const authRoute = require("./src/routes/userGoogleAccount.route");
14+
const userAuthRoute = require("./src/routes/userAuth.route");
15+
const chatRoutes = require("./src/routes/chat.route");
16+
const sessionRoutes = require("./src/routes/session.route");
17+
const sessionSummary = require("./src/routes/sessionSummary.route");
18+
const phq9Questions = require("./src/routes/phq9.route");
19+
const indexRoutes = require("./src/routes/index.route");
20+
const therapyRoutes = require("./src/routes/therapy.route");
21+
const moodRoutes = require("./src/routes/mood.route");
22+
const classifierRoutes = require("./src/routes/classifierResult.route");
23+
const assessmentRoutes = require("./src/routes/levelDetection.router");
24+
const doctorRoutes = require("./src/routes/doctor.route");
25+
const doctorAuthRoutes = require("./src/routes/doctorAuth.route");
26+
// Use CORS middleware before routes
27+
app.use(
28+
cors({
29+
origin: ["http://localhost:3000","http://localhost:3001", "https://blissme.vercel.app","https://doctor-portal-phi.vercel.app"],
30+
methods: "GET,POST,PUT,DELETE,PATCH",
31+
credentials: true,
32+
})
33+
);
34+
35+
app.use(
36+
session({
37+
secret: "xzcbnxncdhvbfhncxbnvbcfhv", // use a strong secret in production
38+
resave: false,
39+
saveUninitialized: false,
40+
cookie: {
41+
secure: false, // set to true if using HTTPS
42+
maxAge: 24 * 60 * 60 * 1000,
43+
},
44+
})
45+
);
46+
47+
// Connect to MongoDB
48+
mongoose
49+
.connect(process.env.MONGODB_URI)
50+
.then(() => {
51+
console.log("MongoDB connected successfully");
52+
})
53+
.catch((err) => {
54+
console.error("MongoDB connection error:", err);
55+
});
56+
57+
app.use(passport.initialize());
58+
app.use(passport.session());
59+
app.use("/auth", authRoute);
60+
app.use("/authuser", userAuthRoute);
61+
app.use("/chat", chatRoutes);
62+
app.use("/session", sessionRoutes);
63+
app.use("/sessionSummary", sessionSummary);
64+
app.use("/phq9", phq9Questions);
65+
app.use("/api", indexRoutes);
66+
app.use("/therapy", therapyRoutes);
67+
app.use("/moods", moodRoutes);
68+
app.use("/classifier", classifierRoutes);
69+
app.use("/levelDetection", assessmentRoutes);
70+
app.use("/doctorlevel", doctorRoutes);
71+
app.use("/doctorAuth", doctorAuthRoutes);
72+
73+
app.get("/", (req, res) => {
74+
res.send("Welcome to Blissme App!");
75+
});
76+
77+
const port = process.env.PORT || 5000;
78+
app.listen(port, () => console.log(`Listening on port ${port}...`));

0 commit comments

Comments
 (0)