Home

Awesome

This My PC

<div align="center"> <a href="http://thismypc.com/"> <img src="https://raw.githubusercontent.com/supunlakmal/thismypc/master/thisMyPCWeb/angular-deprecated/src/assets/images/logo/logo-mini.png" crossorigin> </a> </div> <br /> <div align="center">

forthebadge <br /> Codacy Badge contributions welcome Maintenance Website thismypc.com GitHub license Gitter

</div>

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.

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.

Web Site System

App Screenshots

Desktop App LoginDesktop App OpenWeb App computer hard drivesWeb App computer hard drives Open
<img 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><img 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><img 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><img 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>

Folder Structure

.
├── .github/ISSUE_TEMPLATE
├── doc                          # All Api doc and gif files
├── thisMyPCApp                  # Electron JS app folder
├── thisMyPCServer               # Node JS MongoDB and Express JS server folder
├── thisMyPCWeb                  # Angular website folder
├── .gitignore
├── .gitlab-ci.yml
├── CODE_OF_CONDUCT.md
├── LICENSE
└── README.md

What (This my pc) ?

The concept behind thismypc app was to transfer your computer folder and file information through a nodeJS server to the web end as JSON data.

Why (This my pc) ?

How to (Wiki) ?

All usage instruction and information update on Github Wiki.

Developing

Platforms

PlatformStatus
Microsoft WindowsDeveloping
LinuxPending
Mac osPending
AndroidDeveloping

Built With

Clone Project

git clone https://github.com/supunlakmal/thismypc.git

git clone https://github.com/supunlakmal/thismypc.git

This Command will copy a full project to your local environment

Angular Project

Setting up Angular Project

    cd thisMyPCWeb
    npm i

Setting up Angular Project

cd thisMyPCWeb Move into angular Project Folder npm i install all dependency.

Run Angular Project

Run ng serve for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Electron Project

Setting up Electron Project

cd thisMyPCApp
npm i

 Setting up Electron Project

cd thisMyPCWeb Move into Electron Project Folder npm i install all dependency.

Run Electron Project

Run npm run start start electron app in debug mode

Node Server

Setting up Node Server

cd thisMyPCServer
npm i

cd thisMyPCServer Move into Node Project Folder npm i install all dependency.

Run Node Project

Run npm node index.js to start node server

Graphql

URL
/api/v1/graphql

REST API

API Reference

Web API

Web APIURLDescription
User Register/api/v1/user/register-
User Login/api/v1/user/login-
User Logout/api/v1/user/:userID/logout-
User Auth/api/v1/user/authentication-
User Info/api/v1/user/:userID-
User Online PC List/api/v1/user/computer/online-
Public PC Access/api/v1/computer/public/access-
User PC List/api/v1/user/computer-
Update User Account/api/v1/user/update-
Update User Password/api/v1/user/password/edit-
Update User PC Public status/api/v1/user/computer/public/status/update-
Update User PC Public Key/api/v1/user/computer/public/key/update-

Web socket IO

Socket NameSocketTypeDescription
Join Socket from WebjoinFromWebemit-
Folder or Driver Open RequestopenFolderemit-
PC access RequestspcAccessRequestemit-
Get Hard Drive ListhDDListon-
Folder or hard drive open dataopenFolderRequestToWebon-

App API

APP APIURLDescription
User Login From App/api/v1/user/computer/login-
User Info/api/v1/user/:userID/computer/:computerKey-
User Logout/api/v1/user/:userID/computer/logout-

App socket IO

Socket NameSocketTypeDescription
Join Socket from APPjoinFromAppemit-
Send Hard Drive ListhDDListemit-
Send Data inside Folder or Hard DrivesendOpenFolderRequestemit-
Send callback of Folder Create FunctionfolderCreateCallbackemit-
PC access user and datapcAccessRequeston-
Folder or Hard drive open requestopenFolderRequeston-
Folder ValidationvalidateFolderNameon-

Database

MongoDB use as Database.

Licensing

The MIT License 2019 Supun Lakmal