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.
git clone https://github.com/waflawe/eXinakai.git
cd eXinakai/
- Install requirements:
pip install -r requirements/dev.txt
- Create an
.env
file and fill it with the.env.template
file, modifying the variables marked with a comment if necessary. - Launch three terminal windows separately. In the first one, run
Redis
:
redis-server
- In the second, run
Celery
:
celery -A core.celery_setup:app worker --loglevel=info
- In the third, start the project:
python manage.py runserver 0.0.0.0:8000
- Go to the 127.0.0.1:8000 page in your Internet browser.
- Enjoy.
- Create an
.env.docker
file and fill it with the.env.docker.template
file, if necessary changing the variables marked with a comment. - Bring up
Docker-compose
:
docker-compose up
- Go to the 127.0.0.1:80 page in your Internet browser.
- Enjoy.
In eXinakai
, you can perform the following account operations:
- Registration
- Authorization
- Reset account password
- Change account password
- Changing account settings such as:
- Time Zone
- User avatar
- Enable/disable two-step authentication via email
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:
- Creating passwords
- Reading passwords and searching by their notes and collections
- updating a password's note or collection
- 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:
- Add collections
- Delete collections
- Add passwords to a collection
- 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.
- Registration:
- Authorization:
- Account password reset:
- Changing the account password:
- Changing account settings:
- Two-step authentication page:
This project is licensed by MIT license.