GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - maprox/keyholder-angular: Angular 22 Example Project / Password manager

BranchesTags
Open more actions menu

Latest commit

 

History

130 Commits
130 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
ci
ci
 
 
docs/superpowers
docs/superpowers
 
 
src
src
 
 
.dockerignore
.dockerignore
 
 
.editorconfig
.editorconfig
 
 
.gitignore
.gitignore
 
 
Dockerfile
Dockerfile
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
angular.json
angular.json
 
 
nginx-default.conf
nginx-default.conf
 
 
package-lock.json
package-lock.json
 
 
package.json
package.json
 
 
start-script.sh
start-script.sh
 
 
tsconfig.json
tsconfig.json
 
 

Repository files navigation

Keyholder-Angular

Docker codecov

Hi, this is an Angular 22 Example Project, which can be used as a frontend for password manager when paired with a simple key-value backend keyholder-server.

Its main purpose is to help learning different aspects of frontend development using Angular 22, such as authentication, routing, unit testing, etc.

It's not a tutorial but rather a compilation of different ideas/components I've found over the Internet which were incorporated into one project.

The secondary goal was to build free open source password manager which I will use in everyday life and which can be deployed by anyone in minutes. It was inspired by keymemo and padlock and leverages the same idea of master password which never leaves your computer because we decrypt/encrypt everything in browser and send already encrypted data to the server.

Getting Started

Prerequisites

This project targets Angular 22 and Node.js 22 (see Dockerfile). Use a current npm version bundled with Node 22.

Install Node.js® and npm if they are not already on your machine.

Installation

Copy project contents (we assume you've got git installed, otherwise you can download this project) and go to the project's folder

git clone [email protected]:maprox/keyholder-angular.git
cd keyholder-angular

Install all dependencies

npm ci

You may also check that tests are green after installation

Docker

Every project should have a Dockerfile. The image is multi-stage: Angular is built with Node 22, then static files are served by nginx (nginx-default.conf — SPA try_files fallback; see Angular Docs).

On every push to master, GitHub Actions builds and pushes maprox/keyholder-angular:latest and a short-SHA tag to Docker Hub. Required repo secrets: DOCKERHUB_USERNAME, DOCKERHUB_TOKEN.

In Kubernetes use image: maprox/keyholder-angular:latest with imagePullPolicy: Always, then after a release run a rollout restart (or pin a SHA tag for immutable deploys).

docker pull maprox/keyholder-angular:latest

Running the tests

This project does not have any e2e tests yet, so running tests is as simple as running standard

ng test

License

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

About

Angular 22 Example Project / Password manager

key.primne.com

Topics

angularangular-12angular-example-appexample-appjwt-authenticationpassword-manager

Resources

Readme
MIT license
Activity

Stars

2 stars

Watchers

2 watching

Forks

2 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.