{"id":13547351,"url":"https://github.com/supunlakmal/thismypc","last_synced_at":"2025-04-08T03:11:23.512Z","repository":{"id":35854152,"uuid":"180306091","full_name":"supunlakmal/thismypc","owner":"supunlakmal","description":"ThisMyPC provides a neat web interface that can be used for browsing your desktop drives from any device in your browser itself. With the help of NodeJs, the file details are displayed in JSON format that can then we easily displayed in web browsers.","archived":false,"fork":false,"pushed_at":"2024-01-12T16:04:52.000Z","size":35020,"stargazers_count":167,"open_issues_count":3,"forks_count":93,"subscribers_count":11,"default_branch":"master","last_synced_at":"2024-01-25T07:10:30.670Z","etag":null,"topics":["android","angular","electron","electron-app","electronjs","es6","experimental","expressjs","fullstack-javascript","javascript","macos","mongodb","nodejs","react-native","remote-desktop","soket-io","windows"],"latest_commit_sha":null,"homepage":"https://thismypc.vercel.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/supunlakmal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2019-04-09T07:06:20.000Z","updated_at":"2024-04-15T11:20:09.122Z","dependencies_parsed_at":"2024-04-15T11:30:39.333Z","dependency_job_id":null,"html_url":"https://github.com/supunlakmal/thismypc","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supunlakmal%2Fthismypc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supunlakmal%2Fthismypc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supunlakmal%2Fthismypc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supunlakmal%2Fthismypc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/supunlakmal","download_url":"https://codeload.github.com/supunlakmal/thismypc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247767236,"owners_count":20992548,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["android","angular","electron","electron-app","electronjs","es6","experimental","expressjs","fullstack-javascript","javascript","macos","mongodb","nodejs","react-native","remote-desktop","soket-io","windows"],"created_at":"2024-08-01T12:00:54.438Z","updated_at":"2025-04-08T03:11:23.492Z","avatar_url":"https://github.com/supunlakmal.png","language":"JavaScript","funding_links":[],"categories":["JavaScript","Examples"],"sub_categories":[],"readme":"# This My PC\n\n\u003cdiv align=\"center\"\u003e\n    \u003ca href=\"http://thismypc.com/\"\u003e\n        \u003cimg src=\"https://raw.githubusercontent.com/supunlakmal/thismypc/master/thisMyPCWeb/angular-deprecated/src/assets/images/logo/logo-mini.png\" crossorigin\u003e\n    \u003c/a\u003e\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n[![forthebadge](https://forthebadge.com/images/badges/made-with-javascript.svg)](http://thismypc.com/)\n\u003cbr /\u003e\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/5b677e607def4466b8084eb76be4f0d7)](https://app.codacy.com/app/supunlakmal/thismypc?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=supunlakmal/thismypc\u0026utm_campaign=Badge_Grade_Dashboard)\n![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat) [![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://github.com/supunlakmal/thismypc/graphs/commit-activity) [![Website thismypc.com](https://img.shields.io/website-up-down-green-red/http/shields.io.svg)](http://thismypc.com/) [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](https://github.com/supunlakmal/thismypc/blob/master/LICENSE)\n[![Gitter](https://badges.gitter.im/gitterHQ/gitter.svg)](https://gitter.im/Thismypc/community)\n\n\u003c/div\u003e\n\n\u003e ThisMyPC provides a neat web interface that can be used for browsing your desktop drives from any device in your browser itself. With the help of NodeJs, the file details are displayed in JSON format that can then be easily displayed in web browsers.\n\n\u003e The source code is open so that you can download the source code and set it up with ease if you would like to have your own exclusive environment.\n\n![Web Site System](https://raw.githubusercontent.com/supunlakmal/thismypc/master/doc/gifAnimations/web_site_system.gif)\n\n## App Screenshots\n\n|                                                                                    Desktop App Login                                                                                     |                                                                                   Desktop App Open                                                                                   |                                                                                Web App computer hard drives                                                                                |                                                                             Web App computer hard drives Open                                                                              |\n| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\n| \u003cimg src=\"https://raw.githubusercontent.com/supunlakmal/thismypc/master/thisMyPCWeb/angular-deprecated/src/assets/images/screen/app-login.PNG\" title=\"Desktop App  Login \" width=\"100%\" crossorigin\u003e | \u003cimg src=\"https://raw.githubusercontent.com/supunlakmal/thismypc/master/thisMyPCWeb/angular-deprecated/src/assets/images/screen/app-home.PNG\" title=\"Desktop App Open\" width=\"100%\" crossorigin\u003e | \u003cimg src=\"https://raw.githubusercontent.com/supunlakmal/thismypc/master/thisMyPCWeb/angular-deprecated/src/assets/images/screen/web-system.PNG\" title=\"Web App  PC  Drivers\" width=\"100%\" crossorigin\u003e | \u003cimg src=\"https://raw.githubusercontent.com/supunlakmal/thismypc/master/thisMyPCWeb/angular-deprecated/src/assets/images/screen/web-system.PNG\" title=\"Web App  PC  Drivers\" width=\"100%\" crossorigin\u003e |\n\n## Folder Structure\n\n    .\n    ├── .github/ISSUE_TEMPLATE\n    ├── doc                          # All Api doc and gif files\n    ├── thisMyPCApp                  # Electron JS app folder\n    ├── thisMyPCServer               # Node JS MongoDB and Express JS server folder\n    ├── thisMyPCWeb                  # Angular website folder\n    ├── .gitignore\n    ├── .gitlab-ci.yml\n    ├── CODE_OF_CONDUCT.md\n    ├── LICENSE\n    └── README.md\n\n## What (This my pc) ?\n\nThe concept behind thismypc app was to transfer your computer folder and file information through a nodeJS server to the web end as JSON data.\n\n## Why (This my pc) ?\n\n- The app's responsive web interface helps you to browse file in any resolution device.\n- You can use source code for your own projects.\n- It works well in low bandwidth environments.\n\n## How to (Wiki) ?\n\nAll usage instruction and information update on [Github Wiki](https://github.com/supunlakmal/thismypc/wiki).\n\n## Developing\n\n### Platforms\n\n| Platform          | Status     |\n| ----------------- | ---------- |\n| Microsoft Windows | Developing |\n| Linux             | Pending    |\n| Mac os            | Pending    |\n| Android           | Developing |\n\n#### Built With\n\n- [Node JS](https://nodejs.org/en/)\n- [GraphQL](http://graphql.org)\n- [Express JS](https://expressjs.com/)\n- [Socket IO](https://socket.io/)\n- [Angular](https://angularjs.org/)\n- [Electron JS](https://electronjs.org/)\n- [Mongodb](https://www.mongodb.com/)\n- [React Native](https://facebook.github.io/react-native/)\n\n#### Clone Project\n\n```shell\ngit clone https://github.com/supunlakmal/thismypc.git\n```\n\n![git clone https://github.com/supunlakmal/thismypc.git](https://raw.githubusercontent.com/supunlakmal/thismypc/master/doc/gifAnimations/gitClone.gif)\n\nThis Command will copy a full project to your local environment\n\n## Angular Project\n\n### Setting up Angular Project\n\n```shell\n    cd thisMyPCWeb\n    npm i\n```\n\n![Setting up Angular Project](https://raw.githubusercontent.com/supunlakmal/thismypc/master/doc/gifAnimations/angularSetup.gif)\n\n`cd thisMyPCWeb` Move into angular Project Folder\n`npm i` install all dependency.\n\n### Run Angular Project\n\nRun `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.\n\n## Electron Project\n\n### Setting up Electron Project\n\n```shell\ncd thisMyPCApp\nnpm i\n```\n\n![ Setting up Electron Project](https://raw.githubusercontent.com/supunlakmal/thismypc/master/doc/gifAnimations/electronSetup.gif)\n\n`cd thisMyPCWeb` Move into Electron Project Folder\n`npm i` install all dependency.\n\n### Run Electron Project\n\nRun `npm run start` start electron app in debug mode\n\n## Node Server\n\n### Setting up Node Server\n\n```shell\ncd thisMyPCServer\nnpm i\n```\n\n`cd thisMyPCServer` Move into Node Project Folder\n`npm i` install all dependency.\n\n### Run Node Project\n\nRun `npm node index.js` to start node server\n\n## Graphql\n\n| URL             |\n| --------------- |\n| /api/v1/graphql |\n\n## REST API\n\n### API Reference\n\n- PC - Personal Computer\n- thismypc.com:5000 - This is Thismypc web site API url. You can use your own localhost server link instead default Link.\n- \":userID\" - User ID\n- \":computerKey\" - Computer Key\n\n### Web API\n\n| Web API                      | URL                                        | Description |\n| ---------------------------- | ------------------------------------------ | ----------- |\n| User Register                | /api/v1/user/register                      | -           |\n| User Login                   | /api/v1/user/login                         | -           |\n| User Logout                  | /api/v1/user/:userID/logout                | -           |\n| User Auth                    | /api/v1/user/authentication                | -           |\n| User Info                    | /api/v1/user/:userID                       | -           |\n| User Online PC List          | /api/v1/user/computer/online               | -           |\n| Public PC Access             | /api/v1/computer/public/access             | -           |\n| User PC List                 | /api/v1/user/computer                      | -           |\n| Update User Account          | /api/v1/user/update                        | -           |\n| Update User Password         | /api/v1/user/password/edit                 | -           |\n| Update User PC Public status | /api/v1/user/computer/public/status/update | -           |\n| Update User PC Public Key    | /api/v1/user/computer/public/key/update    | -           |\n\n### Web socket IO\n\n| Socket Name                    | Socket                 | Type | Description |\n| ------------------------------ | ---------------------- | ---- | ----------- |\n| Join Socket from Web           | joinFromWeb            | emit | -           |\n| Folder or Driver Open Request  | openFolder             | emit | -           |\n| PC access Requests             | pcAccessRequest        | emit | -           |\n| Get Hard Drive List            | hDDList                | on   | -           |\n| Folder or hard drive open data | openFolderRequestToWeb | on   | -           |\n\n### App API\n\n| APP API             | URL                                        | Description |\n| ------------------- | ------------------------------------------ | ----------- |\n| User Login From App | /api/v1/user/computer/login                | -           |\n| User Info           | /api/v1/user/:userID/computer/:computerKey | -           |\n| User Logout         | /api/v1/user/:userID/computer/logout       | -           |\n\n### App socket IO\n\n| Socket Name                             | Socket                | Type | Description |\n| --------------------------------------- | --------------------- | ---- | ----------- |\n| Join Socket from APP                    | joinFromApp           | emit | -           |\n| Send Hard Drive List                    | hDDList               | emit | -           |\n| Send Data inside Folder or Hard Drive   | sendOpenFolderRequest | emit | -           |\n| Send callback of Folder Create Function | folderCreateCallback  | emit | -           |\n| PC access user and data                 | pcAccessRequest       | on   | -           |\n| Folder or Hard drive open request       | openFolderRequest     | on   | -           |\n| Folder Validation                       | validateFolderName    | on   | -           |\n\n## Database\n\nMongoDB use as Database.\n\n## Licensing\n\nThe MIT License 2019 Supun Lakmal\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupunlakmal%2Fthismypc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsupunlakmal%2Fthismypc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupunlakmal%2Fthismypc/lists"}