A minimalist open source password manager.
JavaScript HTML CSS
Latest commit 3ab80a2 Nov 2, 2016 @MaKleSoft Merge commit '73e974ce936d1261f7310250388adf115380fc07'
* commit '73e974ce936d1261f7310250388adf115380fc07':
  Add custom url scheme 'padlock://'
  Bump version number to 1.1.0
  Validate email before sending connection request
  Remove 'faint' color style from connection id in cloud view for better readability
  Disable inserting/removing billing key from cordova hooks since we're no longer using purchase plugin
  Remove option to request data reset; replace with link to dashboard instead
  Increase interval for polling auth token activation from 1 to 3 seconds
  Only show subscription-relevant controls if subscription status is set; test padlock cloud credentials every time when opening cloud view
  Handle expired auth token same as invalid auth token; fix typo
  send client version via X-Client-Version header with each request
  Switch from using http status codes for identifying errors to json-encoded error codes; Implement new subscription flow (no more in-app purchases)

README.md

Padlock

A minimal open source password manager built with Polymer.

Dev Setup

Install these if you haven't yet:

Now from inside the project folder, install the local requirements:

npm install
bower install

For the HTML Imports polyfill of Polymer to work, the app has to be served on a local web server. You can use whatever web server you prefer to serve the files. For example:

python -m SimpleHTTPServer 8000

Compling css files

Padlock uses the Stylus as a CSS preprocessor. Most style sheets are maintained as .styl files and compiled locally. To compile all .styl files to CSS, run the corresponding gulp task

gulp stylus

You can also use the --watch flag to tell the gulp task to watch all .styl files and recompile them whenever any of them changes.

gulp stylus --watch

Linting

Any pull request need to pass our linting rules, which are defined in the .eslintrc.json file. To lint all files, run

gulp eslint

Testing

To run the tests, open test/runner.html in your browser.

Contributing

Contributions are more than welcome!

  • If you want to report a bug or suggest a new feauture, you can do so in the issues section
  • If you want to contribute directly by committing changes, please follow the usual steps:
    1. Fork the repo
    2. Create your feature branch: git checkout -b my-feature-branch
    3. Make sure to lint your code before you commit! (gulp lint)
    4. Commit your changes: git commit -m 'Some meaningful commit message'
    5. Push to the branch: git push origin my-feature-branch
    6. Submit a pull request!