{"id":20651081,"url":"https://github.com/fwasik/password-wallet","last_synced_at":"2026-04-11T12:03:54.838Z","repository":{"id":158272528,"uuid":"552859275","full_name":"FWasik/Password-Wallet","owner":"FWasik","description":"PasswordWallet is an application that allows you to save and share passwords to various websites or applications with other users. It also allows users to track their login activity. The application was created as a project for my studies.","archived":false,"fork":false,"pushed_at":"2024-03-15T12:48:59.000Z","size":112,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-16T21:54:02.722Z","etag":null,"topics":["aws-ebs","cicd","django","docker","docker-compose","github-actions","gunicorn","postgresql","python","unittesting"],"latest_commit_sha":null,"homepage":"http://password-wallet.eu-central-1.elasticbeanstalk.com/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FWasik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-17T10:41:27.000Z","updated_at":"2024-03-15T12:20:30.000Z","dependencies_parsed_at":"2024-03-15T12:35:49.112Z","dependency_job_id":"d91412e5-841c-463e-93e9-9a3e8519ab90","html_url":"https://github.com/FWasik/Password-Wallet","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FWasik%2FPassword-Wallet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FWasik%2FPassword-Wallet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FWasik%2FPassword-Wallet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FWasik%2FPassword-Wallet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FWasik","download_url":"https://codeload.github.com/FWasik/Password-Wallet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FWasik%2FPassword-Wallet/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259131775,"owners_count":22810475,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws-ebs","cicd","django","docker","docker-compose","github-actions","gunicorn","postgresql","python","unittesting"],"created_at":"2024-11-16T17:25:41.386Z","updated_at":"2026-04-11T12:03:54.811Z","avatar_url":"https://github.com/FWasik.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Password Wallet\n\n## Table of contents\n* [Introduction](#introduction)\n* [Technologies](#technologies)\n* [CI/CD](#cicd)\n\n## Introduction\nThe application was created as a project created for study classes. The main functionalities are the ability to \ncreate passwords to various other applications, domains, and the ability to share these passwords with other users. \nPasswords are encrypted using Crypto package and AES algorithm. The user can update, delete, view \ndecrypted passwords, clear password shares as well as view shared passwords by other users. The user \nalso has the ability to update the application master password and delete the account. Additional functionality included in \nthe requirements is the ability to list login attempts for a given account, along with information about the IP \naddress, login time and whether the login was successful. Moreover, in order to make any action on passwords, user \nhas to confirm his identity by providing his master password to the account. This happens only once during login session.\n\nThe application was developed using the Django framework and a PostgreSQL database. The application and database were \ncreated separately in  different containers during the development stage. A full CI/CD pipeline was created using \nGitHub Actions and AWS Elastic Beanstalk in order to deploy the application to production. Moreover, the app includes \nunittests.\n\n\n## Technologies\nMost important technologies used:\n- Python: 3.11.5\n- Django: 4.2.11\n- gunicorn: 21.2.0\n- PostgreSQL: 13.0\n- Docker, docker compose\n- GitHub Action\n- AWS Elastic Beanstalk\n\n\n## CI/CD \nFull CI/CD pipeline was created with 3 stages: running tests for app, build docker image for production and sending \ndeploy package (which includes docker-compose.yml file) to an environment on AWS EBS.\n\nThe app should be accessible at http://password-wallet.eu-central-1.elasticbeanstalk.com/  \n\n### !!! ATTENTION !!!\nSometimes, due to exceeding the Free Tier for AWS, I have to stop the instance on which the application is running.\nDuring this period, the application will not work.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffwasik%2Fpassword-wallet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffwasik%2Fpassword-wallet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffwasik%2Fpassword-wallet/lists"}