Skip to content

Theoretically, the most secure online password manager possible. This is the backend repository, a REST API written using Flask in Python.

License

Notifications You must be signed in to change notification settings

AyushRawal/password-manager-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Password Manager

GitHub issues GitHub stars GitHub license

The most secure way to manage passwords online (theoretically).

This is the backend of the project, a REST API written using Flask in Python.

You can use the API using this url : https://secure-passwd-manager.herokuapp.com/

Check out the web frontend repository for the motivation behind this project.

Also check out the CLI client passman, I made for this project.

Usage 📑

The allowed methods are GET, POST, PATCH and DELETE.

A record object looks like this:

{
	"id": "record-id",
	"title": "record-title",
	"password": "record-password",
	"url": "record-url",
	"notes": "record-notes"
}

GET

To get the records of a user, perform a get request on https://secure-passwd-manager.herokuapp.com/user/your-user-name

This returns a json object which is an array of record objects.

{
    "records": [
        {
            "id": "record-id",
            "title": "record-title",
            "password": "record-password",
            "url": "record-url",
            "notes": "record-notes",
        },
        ...
    ]
}

POST

Similarly, you can do a post request that takes a json object with the following fields:

  • title
  • password
  • url (optional)
  • notes (optional)

The response is a record object with the above provided values.

PATCH

Similarly, you can do a patch request that takes a json object with the following fields:

  • id
  • title (optional)
  • password (optional)
  • url (optional)
  • notes (optional)

The response is a record object with the modified value.

DELETE

You can also do a delete request that takes a json object with id as its only field. No json object is returned on delete request.

To run this on your own machine

Clone this repository and cd into it and run :

pip install -r requirements.txt

python main.py

For deployment purposes check this out: https://flask.palletsprojects.com/en/2.0.x/deploying/index.html.

Also, you might want to use a database well suited for scaling. I have deployed this on heroku with Postgresql.

Support 🙏

Please drop a star ⭐ if you like this project.

Note : Please feel free to ask for a feature or report any bug by opening an issue.


Made with ❤️ for 🌏 Everyone

About

Theoretically, the most secure online password manager possible. This is the backend repository, a REST API written using Flask in Python.

Topics

Resources

License

Stars

Watchers

Forks

Languages