Skip to content

Latest commit

 

History

History
122 lines (117 loc) · 5.89 KB

README-en.md

File metadata and controls

122 lines (117 loc) · 5.89 KB

eXinakai

A simple, minimalistic and functional online password manager written on the frameworks such as Django, Django REST Framework. The project uses PostgreSQL relational DBMS as the main database, library celery for working with pending tasks, non-relational DBMS Redis as a message broker and for caching. The library dj-rest-auth is also used for operations with an account via REST API, to which there is also a Swagger schema generated using drf-spectacular. The program is Docker'ized. The linter and code formatter used is ruff.

Документация на русском языке

Table of Contents

Quick Start

Installation

git clone https://github.com/waflawe/eXinakai.git
cd eXinakai/

Run in local development mode

  1. Install requirements:
pip install -r requirements/dev.txt
  1. Create an .env file and fill it with the .env.template file, modifying the variables marked with a comment if necessary.
  2. Launch three terminal windows separately. In the first one, run Redis:
redis-server
  1. In the second, run Celery:
celery -A core.celery_setup:app worker --loglevel=info
  1. In the third, start the project:
python manage.py runserver 0.0.0.0:8000
  1. Go to the 127.0.0.1:8000 page in your Internet browser.
  2. Enjoy.

Run in production mode via Docker

  1. Create an .env.docker file and fill it with the .env.docker.template file, if necessary changing the variables marked with a comment.
  2. Bring up Docker-compose:
docker-compose up
  1. Go to the 127.0.0.1:80 page in your Internet browser.
  2. Enjoy.

Functionality description

Account Management

In eXinakai, you can perform the following account operations:

  1. Registration
  2. Authorization
  3. Reset account password
  4. Change account password
  5. Changing account settings such as:
    • Time Zone
    • User avatar
    • Email
    • Enable/disable two-step authentication via email

Password Manager

In eXinakai, your passwords are encrypted and decrypted with the encryption key issued at registration. Without the encryption key, it is impossible to read or change passwords. Also, when you create a new password, you can add a note to it.

If the encryption key is correct, you can perform the following actions with passwords:

  1. Creating passwords
  2. Reading passwords and searching by their notes and collections
  3. updating a password's note or collection
  4. Deleting passwords

Also eXinakai has a convenient collection system for passwords. It allows you to collect a set of an unlimited number of passwords in one place, which allows you to better navigate the manager when there are not a few of them. Within the system, you can:

  1. Add collections
  2. Delete collections
  3. Add passwords to a collection
  4. Change a password collection

There is also a built-in flexible password generator. It works even without passing the correct encryption key by simply logging into your account.

Screenshots

Password Manager

  1. Creating passwords:
    Creating passwords
  2. Reading passwords:
    Reading passwords
  3. Password Generation:
    Generating passwords
  4. Adding a password collection:
    Adding a password collection

Account Management

  1. Registration:
    Registration
  2. Authorization:
    Authorization
  3. Account password reset:
    Reset account password
  4. Changing the account password:
    Change account password
  5. Changing account settings:
    Changing account settings
  6. Two-step authentication page:
    Two-step authentication page

License

This project is licensed by MIT license.