{"id":27266462,"url":"https://github.com/raj8888/video_call_app","last_synced_at":"2026-04-08T11:31:01.221Z","repository":{"id":191320543,"uuid":"656600155","full_name":"raj8888/Video_Call_App","owner":"raj8888","description":"VedMed is a simple Video call and Chat app where patient can schedule a meetings with certified doctors.","archived":false,"fork":false,"pushed_at":"2023-08-29T04:24:25.000Z","size":11775,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-03T12:23:49.562Z","etag":null,"topics":["bcrypt","css","expressjs","html","javascript","jsonwebtoken","mongodb","mongoosejs","nodejs","socket-io","webrtc"],"latest_commit_sha":null,"homepage":"https://ved-med-video-call.netlify.app/","language":"JavaScript","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/raj8888.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}},"created_at":"2023-06-21T09:09:10.000Z","updated_at":"2024-12-31T10:42:47.000Z","dependencies_parsed_at":"2023-08-29T10:10:11.140Z","dependency_job_id":null,"html_url":"https://github.com/raj8888/Video_Call_App","commit_stats":null,"previous_names":["raj8888/video_call_app"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/raj8888/Video_Call_App","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raj8888%2FVideo_Call_App","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raj8888%2FVideo_Call_App/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raj8888%2FVideo_Call_App/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raj8888%2FVideo_Call_App/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raj8888","download_url":"https://codeload.github.com/raj8888/Video_Call_App/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raj8888%2FVideo_Call_App/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31553966,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T10:21:54.569Z","status":"ssl_error","status_checked_at":"2026-04-08T10:21:38.171Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["bcrypt","css","expressjs","html","javascript","jsonwebtoken","mongodb","mongoosejs","nodejs","socket-io","webrtc"],"created_at":"2025-04-11T08:48:05.326Z","updated_at":"2026-04-08T11:31:01.184Z","avatar_url":"https://github.com/raj8888.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"#  VedMed \n### (VideoCall Application For Doctor and Patient)\n\nVedMed is a simple Video call and Chat app where patient can schedule a meetings with certified doctors.\n\n\n## Features\n\n- Authentication\n- Authorization\n- Mail Service\n- Appointment System\n- Create a Meeting\n- Real Time Chatting\n- Update and Delete Meeting\n- Share Screen\n- Video Call\n\n\n## Tech Stack\n\n**Client:** HTML, CSS, JavaScript, webRTC.\n\n**Server:** Node.js, Express.js, Nodemailer,Mongoose,Socket.io.\n\n**Database:** MongoDB.\n\n## Run Locally\n\nClone the project\n\n```bash\n  git clone https://github.com/raj8888/Video_Call_App\n```\n\nGo to the project directory\n\n```bash\n  cd Video_Call_App\n```\n\nInstall dependencies\n\n```bash\n  npm install\n```\n\nStart the server (Download nodemon npm library globally)\n\n```bash\n  npm install -g nodemon\n```\n\n```bash\n  nodemon index.js\n```\n\n## Environment Variables\n\nTo run this project, you will need to add the following environment variables to your .env file\n\n`mongoDBURL`\n\n`port`\n\n`secretkey`\n\n`mailID`\n\n`mailPass`\n\n- `mailID` and `mailPass` you have to generate from your gmail account.\n\n\n## API Reference\n\n#### Welcome\n\n```http\n  GET /api\n```\n\n## For Pateint\n\n\n#### patients Register\n\n```http\n  POST /api/patients/register\n```\n\n#### patients Login\n\n```http\n  POST /api/patients/login\n```\n\n**Only Admin can access following route**\n#### All patients\n\n```http\n  GET /api/patients/all\n```\n\n**Only Admin and Doctor can access following route**\n#### Single Patient\n\n```http\n  GET /api/patients/single/:patientID\n```\n\n## For Doctors:\n\n#### doctors Register\n\n```http\n  POST /api/doctors/register\n```\n\n#### doctors Login\n\n```http\n  POST /api/doctors/login\n```\n\n**Only Admin can access following routes**\n#### All doctors\n\n```http\n  GET /api/doctors/all\n```\n\n**Only Doctor can access following routes**\n#### Single doctors\n\n```http\n  GET /api/doctors/single/doctorinfo\n```\n\n**Only Doctor can access following routes**\n#### Update Area of Specialization\n\n```http\n  PATCH /api/doctors/update/specialization\n```\n\n**Only Admin and Patient can access following route**\n#### Single doctor\n\n```http\n  GET /api/doctors/single/:doctorID\n```\n\n**Only Admin and Patient can access following route**\n#### Search Route\n\n```http\n  POST /api/doctors/search\n```\n\n## For Meetings:\n\n**Only Admin and Patient can access following route**\n\n#### Fot Create Appointment\n\n```http\n  POST /api/meetings/patients/appointment\n```\n\n**Only Admin and Doctor can access following route**\n#### Fot Update Status Appointments\n\n```http\n  POST /api/meetings/doctor/appointment/:meetingID\n```\n\n#### Fot Get All Doctors Meetings\n\n```http\n  GET /api/meetings/all/doctor\n```\n\n#### Fot Get All Patients Meetings\n\n```http\n  GET /api/meetings/all/patient\n```\n\n#### Fot Get All Patients Meetings (Accepted by Doctor)\n\n```http\n  GET /api/meetings/patients/all\n```\n\n#### Fot Get Pending Appointments for Doctr\n\n```http\n  GET /api/meetings/doctors/appointment\n```\n\n#### Fot Get All Doctors Meetings (Accepted by Doctor)\n\n```http\n  GET /api/meetings/doctors/all\n```\n\n#### Fot Get Paticular Meeting\n\n```http\n  GET /api/meetings/single/:meetingID\n```\n\n**Only Admin and Patient can access following route**\n#### Update Meetings \n\n```http\n  PATCH /api/meetings/update/:meetingID\n```\n\n**Only Admin and Patient can access following route**\n#### Delete Meetings\n\n```http\n  DELETE /api/meetings/delete/:meetingID\n```\n\n#### SendMail To JoinMeet\n```http\n  POST /api/meetings/sendmail\n```\n\n#### SendMail of Emergency Notification to JoinMeet (Notification)\n```http\n  POST /api/meetings/notification/:meetingID\n```\n\n####  For Checking Time of Meet\n```http\n  POST /api/meetings/checktime/:meetingID\n```\n\n**Authentication Required All Routes Except Login and Register**\n\n### Doctor Schema Ref:\n```\nconst doctorSchema = mongoose.Schema({\n    name:String,\n    email:String,\n    password:String,\n    mobile:String,\n    sex:String,\n    areaOfSpecialization:String,\n    role:{type:String,default:\"doctor\"},\n    age:Number,\n    meetings:[{type:String}],\n    createdDate:String\n})\n```\n\n### Patient Schema Ref:\n```\nconst patientSchema = mongoose.Schema({\n    name:String,\n    email:String,\n    password:String,\n    mobile:String,\n    sex:String,\n    role:{type:String,default:\"patient\"},\n    age:Number,\n    meetings:[{type:String}],\n    createdDate:String\n})\n```\n\n### Meeting Schema Ref:\n```\nconst meetingSchema = mongoose.Schema({\n    patinetID: { type: mongoose.ObjectId, ref: 'patient' },\n    doctorID: { type: mongoose.ObjectId, ref: 'doctor' },\n    concerns:String,\n    meetingTime:String,\n    meetingDate:String,\n    completed:Boolean\n})\n```\n\n## Screenshots\n\nPatient Dashboard:(With See all doctors section)\n\n![App Screenshot](https://i.ibb.co/hm3qh2S/Screenshot-356.png)\n\nPatient Dashboard:(With See all meetings section)\n\n![App Screenshot](https://i.ibb.co/34mXkpf/Screenshot-357.png)\n\nPatient Dashboard:(With See all appointments section)\n\n![App Screenshot](https://i.ibb.co/vPnbQY9/Screenshot-358.png)\n\nDoctor Dashboard:(With See all meetings section)\n\n![App Screenshot](https://i.ibb.co/4KyCpW7/Screenshot-359.png)\n\nDoctor Dashboard:(With See all appointments section)\n\n![App Screenshot](https://i.ibb.co/bPJB3j7/Screenshot-360.png)\n\nMeeting Portal:(Doctor Side)\n\n![App Screenshot](https://i.ibb.co/dKxp0sD/Screenshot-361.png)\n\nMeeting Portal:(Patient Side)\n\n![App Screenshot](https://i.ibb.co/ZMmDhST/Screenshot-362.png)\n\nVideo Call, Chat, MicOff, CameraOff, ShareScreen :\n\n![App Screenshot](https://i.ibb.co/N7Fn1Hb/Screenshot-363.png)\n\n## Frontend Part Instruntions:\n\n### For Patients:\n\n- First Register with your gmailID and login to account.\n- After Login you can see all doctors information.\n- On Navbar you have option of see all meetings.\n- For create Appointment you have to copy the doctorID of Particular doctor from doctors information and paste it to input bar. Then select date and time properly and enter you concern and click on create appointment button.\n- Wait for some time your appointment status will be updated by doctor.\n  Ex. If doctor accept you request then you can see as accepted status for rejected status will be rejected and for pending status will be pending\n- You can checkout your all appointments in all appointments section.\n- If you want to update meeting information then click on update button of that particular meeting. Then you will see all the information of that meeting on left side form. Update the information as per your requirement and click on update button.\n- If you want to delete meeting then just click on delete button.\n\n- You can join meet before 5 minutes or after 5 minutes only.\n- Otherwise you are not able to join meeet.\n- So, click on join button on time.\n- Then you can wait there for sometime to get mail of meetCode from doctor side.\n- Once you recieved mail then you can copy `meetingCode` from mail and paste on Enter other person code section. And click on join button.\n- Then you will get window to option for reject call but wait for some time to join doctor. If you want to decline call without meet then you can.\n- In meet you have option for micOff,cameraOff,chat,sharescree.\n- If you wait for 5 to 10 minutes and doctor not joined meet then you can use send notification button to send mail to doctor to join meet.\n\n### For Doctors:\n\n- First Register with your gmailID and login to account.\n- After Login you can see all yours meetings information.\n- You will able to see all your pending appointements in all appointment section.\n- You can accept or reject request of patient according your schedule.\n- Once you accept the request then you can see all your meetings on all meetings section.\n\n\n\n**Important Note (For Doctors and Patients):**\n- You have to click on `join button` when you scheduled meeting.\n- You can join meet within 5 minutes befor and 5 minutes after time of meet.\n- Once click on `join button` and you redirected to meeting portal if you click on back button or close window then you are not able to join the meet again. \n\n**Both patient and doctor will receive mail notification for if patient create meet, update meet information or delete meet**\n\n\n## Live Demo\n\n[https://ved-med-video-call.netlify.app](https://ved-med-video-call.netlify.app)\n\n## Backent Deployed Demo\n\n[https://video-call-backend-i5df.onrender.com](https://video-call-backend-i5df.onrender.com)\n\n## Author\n\n- [@raj8888](https://github.com/raj8888)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraj8888%2Fvideo_call_app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraj8888%2Fvideo_call_app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraj8888%2Fvideo_call_app/lists"}