Giter Club home page Giter Club logo

passwise's Introduction

Passwise - Password Manager

Project Banner

awesome stars license

About the Project

Open source password manager, based on the FeathersJS & ReactJS frameworks.

Tech Stack

My Skills

Getting Started

Step 1: set the required environment variables

ENV Description Required
GMAIL_USER Email used for gmail account yes
GMAIL_PASWORD Password for gmail account yes
GOOGLE_CLIENT_ID Customer ID for google authentication no
GOOGLE_CLIENT_SECRET Customer secret key for google authentication no

Step 2: installing

From source code

git clone https://github.com/tristan-greffe/passwise.git

// Run the server/API
cd passwise/api
yarn install
yarn dev

// In another terminal run the client app
cd passwise
yarn install
yarn dev

Note

Then point your browser to localhost:8080

Using Docker

// Retrieve the latest available dev tag
docker pull codask/passwise:dev

Note

Then point your browser to localhost:8081

Contributing

Contributions are always welcome!

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork it! ๐Ÿค™

  2. Create your feature branch: git checkout -b my-new-feature

  3. Commit your changes: git commit -m "Add some feature"

  4. Push to the branch: git push origin my-new-feature

  5. Submit a pull request ๐Ÿ‘

License

This project is licensed under the MIT License - see the license file for details

passwise's People

Contributors

tristan-greffe avatar

Watchers

 avatar

passwise's Issues

Creation of a utility file `utils.crypto.js` for API data encryption/decryption

  • Create a utils.crypto.js file in src/utils.
  • Add encryption and decryption functions
  • Integrate these functions into the flow of sending and receiving information to/from the API

Example

import { encryptData, decryptData } from './utils.crypto'

const dataToSend = { /* ... */ }
const encryptedData = encryptData(dataToSend)

// Sending encrypted data to the API

// Receiving API data
const receivedData = /* data received from API */
const decryptedData = decryptData(receivedData)`

Enable Category Modification through Modal

Currently, it is not possible to modify an existing category in the Vault page. It would be useful to add this functionality to enable users to better organize their passwords.

  • Add a button to open the modal for modifying an existing category.
  • Implement category modification logic in the backend.

Currently, the ability to modify existing category is absent.

  1. Create EditCategory Component
  • Develop a new component named 'EditCategory' within src/components/vault
  • Utilize CreateCategory as a reference for structuring the new component.
  1. Utilize api.service('api/catgories').update()
  1. Pre-fill Password Information in Modal Form

Additional Considerations

  • Implement client-side validation to ensure data integrity before initiating the password update.
  • Include a visually clear way for users to confirm and submit the modified password. (TOAST)

Enable Password Modification through Modal

Currently, the ability to modify existing passwords is absent. We aim to enhance user flexibility by implementing a feature where, upon clicking a password, a modal opens with a pre-filled form containing the password details. The following tasks outline the steps to achieve this:

Untitled

  1. Create EditPassword Component
  • Develop a new component named 'EditPassword' within src/components/vault
  • Utilize createPassword as a reference for structuring the new component.
  1. Utilize api.service('api/password').update()
  1. Pre-fill Password Information in Modal Form

Additional Considerations

  • Implement client-side validation to ensure data integrity before initiating the password update.
  • Include a visually clear way for users to confirm and submit the modified password. (TOAST)

Dashboard page

The current Dashboard page is empty. Adding useful information such as the number of passwords, security level, available storage, etc., would make the page more informative for users.

Implement Copy Logic in the Frontend for User and Password Icons

Currently, it is not possible to copy login and password directly from the Vault page.

  • Implement Copy Logic for User Icon
  1. When the user icon is clicked, copy the associated username to the clipboard.
  2. Using the Toast component, display a message to confirm successful copying.
    Untitled
  • Implement Copy Logic for Password Icon
  1. When the password icon is clicked, copy the associated password to the clipboard.
  2. Using the Toast component, display a message to confirm successful copying.
    Untitled

Setting up tests with Jest

Set up a test suite to ensure the quality of the application code using Jest.

  • Install Jest and the necessary dependencies
  • Configure Jest for the project
  • Create unit tests
  • Integrate Jest into CI/CD process

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.