{"id":26239455,"url":"https://github.com/codewithdinesh/drustii","last_synced_at":"2026-04-13T12:32:52.956Z","repository":{"id":251519397,"uuid":"499621361","full_name":"codewithdinesh/drustii","owner":"codewithdinesh","description":"Drustii an video social media","archived":false,"fork":false,"pushed_at":"2024-08-04T01:50:28.000Z","size":9580,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-27T22:48:00.043Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/codewithdinesh.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-06-03T19:01:22.000Z","updated_at":"2024-08-04T01:50:32.000Z","dependencies_parsed_at":"2024-08-03T17:27:14.237Z","dependency_job_id":"4050fcb4-fb50-4ded-8bab-8c6f56dc8609","html_url":"https://github.com/codewithdinesh/drustii","commit_stats":null,"previous_names":["codewithdinesh/drustii"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/codewithdinesh/drustii","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codewithdinesh%2Fdrustii","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codewithdinesh%2Fdrustii/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codewithdinesh%2Fdrustii/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codewithdinesh%2Fdrustii/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codewithdinesh","download_url":"https://codeload.github.com/codewithdinesh/drustii/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codewithdinesh%2Fdrustii/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31753239,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T09:16:15.125Z","status":"ssl_error","status_checked_at":"2026-04-13T09:16:05.023Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":[],"created_at":"2025-03-13T06:44:51.093Z","updated_at":"2026-04-13T12:32:52.932Z","avatar_url":"https://github.com/codewithdinesh.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Drusti Server \nThis is a server of drusti an video social media app which is similar to the YouTube.\n\n## Functions:\n- Video streaming / watch videos\n- search video\n- recommendation videos\n- Video Upload and manage the videos\n- Like the video\n- User Authentication \n- Creator and user two different user functionality\n- increase the video views\n- Automatic thumbnail generate\n- convert any video to .mp4 while uploading so streaming made easy\n- Otp verification to create user account so fake account can be stopped\n- Multiple privacy option can be set on video like private video, public video, and share only video\n\n## ScreenShots\n\u003cimg src=\"https://github.com/user-attachments/assets/8211d276-8532-48bd-8828-4b346db86aac\" height=\"300\" alt=\"Screenshot 1\"\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/e58a8341-1c5e-4e68-b875-aee2b3b62c5d\" height=\"300\" alt=\"Screenshot 2\"\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/59eab2ab-a978-46b5-a22c-08a78dec3ce4\" height=\"300\" alt=\"Screenshot 3\"\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/0c0f8eb9-b408-46fb-b1ba-02c53d1afa2f\" height=\"300\" alt=\"Screenshot 4\"\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/ca385054-bf69-4893-ba94-159b1297c38f\" height=\"300\" alt=\"Screenshot 5\"\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/296417e8-e54e-473b-bf0a-25f7879c5b59\" height=\"300\" alt=\"Screenshot 6\"\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/580635bc-7331-40d1-963b-9d869ed3ad4a\" height=\"300\" alt=\"Screenshot 7\"\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/cb30627e-1fd5-4d8f-ab89-1490e42dc89b\" height=\"300\" alt=\"Screenshot 8\"\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/68092e0e-a1f1-49e1-8f52-9d06a51dadf7\" height=\"300\" alt=\"Screenshot 9\"\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/6ab2fb25-d79a-4408-b56f-5a097328e601\" height=\"300\" alt=\"Screenshot 10\"\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/14167f28-e566-42af-ab94-72fcba418a6e\" height=\"300\" alt=\"Screenshot 11\"\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/1b8959a6-deeb-48a0-9978-e278a4a795da\" height=\"300\" alt=\"Screenshot 12\"\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/b8c0757f-6fca-4abb-b790-b10f721272c9\" height=\"300\" alt=\"Screenshot 13\"\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/2d6880b4-d202-4c07-8728-e989f1091f18\" height=\"300\" alt=\"Screenshot 14\"\u003e\n\n\n\n## Frontend (Android)\n[Drustii App](https://github.com/codewithdinesh/drusti-app/)\n\n# Start\n1) Git clone\n2) Run `npm install` command\n\n#### Add Environment Variable\n1) create `.env` file in parent folder\n2) add following\n```PORT=port number for server\nDB_URL= mongodb database url\nDB_URL_Local= for testing on local database \nSECRET_KEY= add jwt secret key\nHOST_EMAIL=smtp host address for mail\nEMAIL_SMTP_AUTH_USER= smtp user address\nEMAIL_SMTP_AUTH_PASSWORD=smtp password\nEMAIL_SMTP_PORT=smtp port number\nAWS_ACCESS_KEY= aws access key\nAWS_SECRET_KEY= aws secret key\nAWS_REGION= aws region code\nAWS_BUCKET_NAME= aws s3 bucket name\n```\n\n#### Run server\n3) Run `npm start` command to run server.\n\n# Languages and Tools\n- Nodejs\n- ExpressJs\n- Aws s3\n- Mongodb\n\n\n# Reference \n\n- https://auth0.com/blog/node-js-and-express-tutorial-building-and-securing-restful-apis/\n- https://www.toptal.com/nodejs/secure-rest-api-in-nodejs\n- https://github.com/techreagan/youtube-clone-nodejs-api/blob/master/controllers/videos.js\n- https://stackoverflow.com/questions/31529013/nodejs-file-upload-with-progress-bar-using-core-nodejs-and-the-original-node-s\n- https://www.freecodecamp.org/news/how-to-authenticate-users-and-implement-cors-in-nodejs-applications/\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodewithdinesh%2Fdrustii","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodewithdinesh%2Fdrustii","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodewithdinesh%2Fdrustii/lists"}