|
1 | | -**Note**: React and Electron were setup following this guide: |
2 | | -1. [Github](https://github.com/willjw3/react-electron/blob/master/package.json) |
3 | | -2. [Youtube](https://www.youtube.com/watch?v=Cdu2O6o2DCg) |
| 1 | +<br /> |
| 2 | +<p align="center"> |
| 3 | + <a href="https://powir.slapbot.me"> |
| 4 | + <img src="public/icon.ico" alt="Logo" width="80" height="80"> |
| 5 | + </a> |
| 6 | + <h3 align="center">Powir</h3> |
| 7 | + <p align="center"> |
| 8 | + Windows 10 based tool to monitor and analyze your system's power and battery usage |
| 9 | + <br /> |
| 10 | + <a href="https://powir.slapbot.me"><strong>Explore the website »</strong></a> |
| 11 | + <br /> |
| 12 | + <br /> |
| 13 | + <a href="https://join.slack.com/t/powir/shared_invite/zt-ezy7sf5d-Tt1MmP_bcf_gdGLEJSEfzw">Join Slack</a> |
| 14 | + · |
| 15 | + <a href="https://github.com/slapbot/powir/issues">Report Bug</a> |
| 16 | + · |
| 17 | + <a href="https://github.com/slapbot/powir/issues">Request Feature</a> |
| 18 | + · |
| 19 | + <a href="https://twitter.com/ugupta41">Give Feedback</a> |
| 20 | + </p> |
| 21 | +</p> |
4 | 22 |
|
5 | | -Give credits: |
6 | | -1. <a href="https://icons8.com/icon/64452/heart">Heart icon by Icons8</a> |
| 23 | +<hr> |
7 | 24 |
|
8 | | ---- |
9 | | -This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). |
| 25 | + |
10 | 26 |
|
11 | | -## Available Scripts |
| 27 | +<!-- TABLE OF CONTENTS --> |
| 28 | +## Table of Contents |
12 | 29 |
|
13 | | -In the project directory, you can run: |
| 30 | +* [About the Project](#about-the-project) |
| 31 | + * [What is it?](#what-is-it) |
| 32 | + * [Installation](#installation) |
| 33 | +* [Features](#features) |
| 34 | + * [What it does?](#what-it-does) |
| 35 | + * [Why build it?](#why-build-it) |
| 36 | + * [Actions?](#actions) |
| 37 | +* [Gallery](#gallery) |
| 38 | + * [Battery Information](#battery-information) |
| 39 | + * [System Information](#system-information) |
| 40 | + * [Power & Battery Usage](#power-battery-usage) |
| 41 | +* [Installation](#installation) |
| 42 | +* [FAQs](#faqs) |
| 43 | +* [Developer](#developer) |
| 44 | + * [Prerequisites](#prerequisites) |
| 45 | + * [Setup](#setup) |
| 46 | + * [Build](#build) |
| 47 | + * [Usage](#usage) |
| 48 | +* [Contributing](#contributing) |
| 49 | +* [License](#license) |
| 50 | +* [Contact](#contact) |
| 51 | +* [Acknowledgement](#acknowledgement) |
14 | 52 |
|
15 | | -### `yarn start` |
| 53 | +<hr> |
16 | 54 |
|
17 | | -Runs the app in the development mode.<br /> |
18 | | -Open [http://localhost:3000](http://localhost:3000) to view it in the browser. |
| 55 | +## About The Project |
19 | 56 |
|
20 | | -The page will reload if you make edits.<br /> |
21 | | -You will also see any lint errors in the console. |
| 57 | +### What is it? |
22 | 58 |
|
23 | | -### `yarn test` |
| 59 | +Powir is a Windows 10 based tool to monitor and analyze your system's power and battery usage. |
24 | 60 |
|
25 | | -Launches the test runner in the interactive watch mode.<br /> |
26 | | -See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. |
| 61 | +It provides you with various information and statistics about the current and overall history of the power and battery usage of your system. |
27 | 62 |
|
28 | | -### `yarn build` |
| 63 | +### Installation |
29 | 64 |
|
30 | | -Builds the app for production to the `build` folder.<br /> |
31 | | -It correctly bundles React in production mode and optimizes the build for the best performance. |
| 65 | +Installation is as quick as simply downloading the executable and running it. |
| 66 | +The App is completely portable meaning you don't have to go through an installation wizard, |
| 67 | +and it can be copied from system to system seamlessly. |
32 | 68 |
|
33 | | -The build is minified and the filenames include the hashes.<br /> |
34 | | -Your app is ready to be deployed! |
| 69 | +Simply go to [Releases](https://github.com/SlapBot/powir/releases) and pick the latest version to download. |
35 | 70 |
|
36 | | -See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. |
37 | 71 |
|
38 | | -### `yarn eject` |
| 72 | +## Features |
| 73 | + |
39 | 74 |
|
40 | | -**Note: this is a one-way operation. Once you `eject`, you can’t go back!** |
| 75 | +### What it does? |
| 76 | +- Provides you with a simple and clean UI to list your battery and system information. |
| 77 | +- Shows you the change in battery capacity since the OS was installed. |
| 78 | +- Analyzes the current and overall estimated battery life of your system. |
| 79 | +- Computes various statistics to give a better understanding of your power usage. |
| 80 | +- Ability to export all the data via various formats: PDF (app), JSON (processed), HTML (original report). |
| 81 | +- 100% free and completely open-source for an absolute transparency. |
| 82 | +- Completely portable app with no installation required, ready to use out of the box. |
41 | 83 |
|
42 | | -If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. |
43 | 84 |
|
44 | | -Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own. |
| 85 | +### Why build it? |
| 86 | +- Complete lack of any such power/battery monitoring analyzing tool available in the market. |
| 87 | +- Obscure documentation over how to find battery statuses on the Internet. |
| 88 | +- Required to use terminal in order to run a command showing information about the system. |
| 89 | +- Devoid of any simple and understandable metrics from the underlying API or report. |
45 | 90 |
|
46 | | -You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it. |
47 | 91 |
|
48 | | -## Learn More |
| 92 | +### Actions |
49 | 93 |
|
50 | | -You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). |
| 94 | + |
51 | 95 |
|
52 | | -To learn React, check out the [React documentation](https://reactjs.org/). |
| 96 | +- Export the current report of your system from Powir in PDF format |
| 97 | +- Export the parsed and processed data of your system from Powir in JSON format |
| 98 | +- Shows original report generated by Windows using the command:powercfg /batteryreport in the terminal |
53 | 99 |
|
54 | | -### Code Splitting |
55 | 100 |
|
56 | | -This section has moved here: https://facebook.github.io/create-react-app/docs/code-splitting |
57 | 101 |
|
58 | | -### Analyzing the Bundle Size |
| 102 | +## Gallery |
59 | 103 |
|
60 | | -This section has moved here: https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size |
| 104 | +### Battery Information |
61 | 105 |
|
62 | | -### Making a Progressive Web App |
| 106 | + |
63 | 107 |
|
64 | | -This section has moved here: https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app |
65 | 108 |
|
66 | | -### Advanced Configuration |
| 109 | +### System Information |
67 | 110 |
|
68 | | -This section has moved here: https://facebook.github.io/create-react-app/docs/advanced-configuration |
| 111 | + |
69 | 112 |
|
70 | | -### Deployment |
71 | 113 |
|
72 | | -This section has moved here: https://facebook.github.io/create-react-app/docs/deployment |
| 114 | +### Power & Battery Usage |
73 | 115 |
|
74 | | -### `yarn build` fails to minify |
| 116 | + |
75 | 117 |
|
76 | | -This section has moved here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify |
| 118 | + |
| 119 | +## FAQs |
| 120 | + |
| 121 | + |
| 122 | + |
| 123 | +<strong>Is it completely free?</strong> |
| 124 | + |
| 125 | +Yes, Powir is 100% free to download and use. |
| 126 | + |
| 127 | +<strong>Are the numbers displayed 100% correct?</strong> |
| 128 | + |
| 129 | +Depends, Powir parses the raw reports generated from Windows and does the computations of the various statistics and render the charts. |
| 130 | + |
| 131 | +<strong>What tooling was used to build the app?</strong> |
| 132 | + |
| 133 | +Powir runs as an electron app (chromium web engine embedded) while using React to facilitate the UI and data workflow. |
| 134 | + |
| 135 | +<strong>Does it share my data anywhere?</strong> |
| 136 | + |
| 137 | +No, Powir will never share your data anywhere outside your local system, the entire source code of the app is online for anyone to check. Infact, it never makes any request to a server since there is none. Its simply a client sided app. |
| 138 | + |
| 139 | +<hr> |
| 140 | + |
| 141 | +## Developer |
| 142 | +If you're looking to build it from the source or inspect the app, its extremely simply and you only have to follow few instructions as listed below: |
| 143 | + |
| 144 | +### Prerequisites |
| 145 | +- Node |
| 146 | +- NPM |
| 147 | + |
| 148 | +### Setup |
| 149 | + |
| 150 | +- Clone the repository: `git clone https://github.com/SlapBot/powir.git` |
| 151 | +- Cd into the directory: `cd powir` and run: `npm install` |
| 152 | + |
| 153 | +### Build |
| 154 | + |
| 155 | +- Run `npm run build` which will package the app at `dist/` folder. |
| 156 | + |
| 157 | +### Usage |
| 158 | + |
| 159 | +- Run these two commands in two separate sessions when you are developing in order to use HMR (hot module reloading): |
| 160 | + - Run react server: `npm run react-start` |
| 161 | + - Run electron app: `npm run electron-start` |
| 162 | +- All of the server code is located at: `public/server` directory. |
| 163 | +- Entrypoint of the electron app is at`public/electron.js`. |
| 164 | +- Everything related to rendering is done at: `src` directory. |
| 165 | +- Any of the changes you make at src directory will reflect instantly in the app. |
| 166 | +- Any of the changes made for server requires the app to be restarted using: `npm run electron-start` |
| 167 | + |
| 168 | + |
| 169 | +## Contributing |
| 170 | + |
| 171 | +Contributions are what make the open source community such an amazing place to be learn, inspire, and create. |
| 172 | +Any contributions you make are **greatly appreciated**. |
| 173 | + |
| 174 | +1. Fork the Project |
| 175 | +2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`) |
| 176 | +3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`) |
| 177 | +4. Push to the Branch (`git push origin feature/AmazingFeature`) |
| 178 | +5. Open a Pull Request |
| 179 | + |
| 180 | +Feel free to join our slack chat group to get more help: [Slack](https://join.slack.com/t/powir/shared_invite/zt-ezy7sf5d-Tt1MmP_bcf_gdGLEJSEfzw) |
| 181 | + |
| 182 | + |
| 183 | +<!-- LICENSE --> |
| 184 | +## License |
| 185 | + |
| 186 | +Distributed under the GPU General Public License. See `LICENSE` for more information. |
| 187 | + |
| 188 | +<!-- CONTACT --> |
| 189 | +## Contact |
| 190 | + |
| 191 | +Hey there! I'm [Ujjwal](https://twitter.com/ugupta41) who goes around with the name Slapbot in open source communities, You'd often find me blabbering my completely biased opinions in /r/soccer or busy building new things. |
| 192 | + |
| 193 | +I'm most accessible via Twitter and tend to update about whatever I'm working there, so feel free to follow or send a dm there. :) |
| 194 | + |
| 195 | + |
| 196 | +## Acknowledgement |
| 197 | +Many thanks to these amazing frameworks/libraries/tools/arts without which none of this had been possible! <3 |
| 198 | + |
| 199 | +#### Major Libraries |
| 200 | +- [ElectronJS](https://www.electronjs.org/) |
| 201 | +- [NodeJS](https://nodejs.org/en/) |
| 202 | +- [ReactJS](https://reactjs.org/) |
| 203 | +- [Tailwind](https://tailwindcss.com/) |
| 204 | +- [PaperCSS](https://www.getpapercss.com/) |
| 205 | +- [ChartJS](https://www.chartjs.org/) |
| 206 | + |
| 207 | +#### Minor Libraries |
| 208 | +- [Lodash](https://lodash.com/) |
| 209 | +- [JSSoup](https://github.com/chishui/JSSoup) |
| 210 | +- [JSSoup](https://github.com/chishui/JSSoup) |
| 211 | + |
| 212 | +#### Icons |
| 213 | +- [Icons8](https://icons8.com/) |
0 commit comments