yet another passowrd keeper app based on Electron.
for safe, app is opensource, so anyone can check the source code.
for easily backup, app use local SQLite database file to store password info,
so you can keep the database file anytime you want. and the file saved to
~/Document/yet-another-passowrd-keeper
by default.
- 主框架
- 页面设计细化、图标设计等
- SQLite操作库
- Electron主进程和渲染进程通信
- 添加、修改、展示、
删除 - password field show/copy logic
- when app start, before show react render page, it show index.html empty page first issue
- how to add perload.js
- need password when open app for security
- app setting feature: database storage path, password salt, password export
- encode password when save to database
- ui for windows
- app release
- github release app package
功能调研部分,借助这里的环境进行试验,后续会删除。
- 视频采集
- capture桌面
- capture音频:同 capture桌面 功能,使用 Electron desktopCapturer 模块,这里没有试验
- 音视频recorder、mixer、converter
- 推流
electron + typescript + react + sass + webpack
-
a. 为什么采用 typescript?
都说挺好的,毕竟有类型系统。
-
b. 为什么采用 react?
react刚出的时候,研究过,有一定的熟悉感;听人说react才是王道。
-
c. 为什么使用sass?
很早之前了解过一些,比起一点点写css,继承的写法,省心。
# 克隆这仓库
$ git clone https://github.com/xsddz/Yet-Another-Password-Keeper.git
# 进入仓库
$ cd Yet-Another-Password-Keeper
# 安装依赖库
# $ npm install
$ yarn
# 运行应用
# $ npm start
$ yarn start
目录结构如下:
Yet-Another-Password-Keeper
├── README.md
├── package-lock.json
├── package.json
├── src
│ ├── components
│ │ ├── appLeftContent.tsx
│ │ ├── appRightContent.tsx
│ │ ├── camera.tsx
│ │ └── desktop.tsx
│ ├── css
│ ├── fonts
│ ├── img
│ ├── electron.ts
│ ├── index.html
│ ├── index.tsx
│ └── modules
│ ├── images.d.ts
│ └── passdb.ts
├── tsconfig.json
└── webpack.config.js
根据参考中的文章,一步一步操作。
- Electron 文档
- Getting Started with Electron, Typescript, React and Webpack
- 入门教程: 认识 React,State & 生命周期
- TypeScript+React入门-----引入css
- Module not found: Error: Can't resolve 'ReactDOM' - reactjs
- Full Height and Width "Web App" Style Layout Tutorial
- electron 仿制QQ登录界面
- desktop capture does not work on version 8.0.1 !!!,对比发现系中文文档不是最新的!!!!!!
- Building a responsive camera component with React Hooks
- Invalid Hook Call Warning
- npn install 卡住,electron-download
- npm --save-dev --save 的区别
- Electron 使用 Webpack2 打包应用程序,Electron-builder打包应用程序策略,File Patterns,Multi Platform Build,你不知道的 Electron (二):了解 Electron 打包,electron-builder打包见解,Mac: "your.app.category.type" ??,LSApplicationCategoryType
- Loading Fonts with webpack
- Loading Images,typescript项目中import 图片时报错:TS2307: Cannot find module ‘...’
- Form Inputs with inset icons,sass-loader
- Developing ElectronJS applications with SQLite3,knex,electron-rebuild failure with sqlite3
- Module not found: Error: Can't resolve 'aws-sdk',Webpack node modules externals
- TypeScript Modules,TypeScript Classes
- Electron: Change React component state from main.js,TypeError: Cannot read property 'updater' of undefined,Updating an object with setState in React
- Array.prototype.map()
- Passing Data Between React Components — Parent, Children, Siblings,You Probably Don't Need Derived State
- Why can't I change my input value in React even with the onChange listener
- React onClick get li clicked
- javascript Date format(js日期格式化)
- UL or DIV vertical scrollbar
- electron-with-sqlite3,__dirname returns '/' when js file is built with webpack
- 项目集成knex和sqlite3并完成开发之后,打包后的app启动时,提示找不到knex等模块,从 npm 命令迁移至 yarn 之后(搜到一些文章,说 yarn 解决了 npm 的诸多问题,而且比 npm 要快、快),重新打包,问题居然解决了。从 npm 迁移到 yarn,yarn 快速入门
- ipcRenderer in React component
- 使用keynote制作属于自己的logo,太简单了、keynote 如何修改幻灯片大小?
- NPM fails on msbuild.exe with exit code 1、gyp ERR! stack Error:
C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe
- github release 功能的使用及问题解决