top of page
  • LinkedIn
  • GitHub

CodeVault

Web Development

CodeVault is a password management website, designed to help users have a convenient and centralized way to access and store their account credentials. CV also offers users the ability to generate a password and set the password requirements, which is beneficial for their account’s security  and is generally considered a good password practice. Similar products that currently exist include Bitwarden and Apple’s Password app.

Duration: 3 Months

Team Size: 2

Primary Role: Frontend & Backend

Image by Jason Dent

Our Audience

The intended audience of our website is people who like a singular location to manage all their account credentials.

christian-buehner-DItYlc26zVI-unsplash.jpg

Meet Matt Smith

Age: 27 

Education: Masters in Cybersecurity

Hometown: Austin, TX

Occupation: Cybersecurity Analysis 

As a cybersecurity analyst, Matt likes to have good password practices that keep his accounts secure. Because Matt has several different accounts, Matt prefers to have a way to manage all of his accounts in one spot, as well as having the option to generate passwords that lead to better security. 

User Journey

Register and Login​

Users will be asked for their account information to log in. If the user is new to the website, they will be asked for information such as their name.

Dashboard

 

Once successfully logged in, users will be directed to their dashboard where all their accounts are listed. Additionally, on the right of the screen is the password generator. 

Manage Accounts and Profile

From the dashboard, users will be able to create, delete, and edit the account information, as well as edit their profile information.

Screenshot 2025-02-03 at 10.29.10 PM.png

Wireframes

Screenshot 2025-02-03 at 10.33.50 PM.png

Development

Languages and Framework Used: Spring Boot, Java, HTML, CSS, JS, MySQL, Thymeleaf

 

 

For this project, my role was primarily handling both frontend and backend responsibilities. In the project, we used dependencies including Spring Web, Thymeleaf, Spring Security, and Spring Data JPA. For both the user and credentials, controllers were used to handle endpoints and manage CRUD operations. When creating the design of the website, we used HTML, CSS, and JavaScript. We also integrated Thymeleaf into these pages, as Thymeleaf displayed the user's accounts stored.

For our database, I used MySQL and created two tables within our database, CVDB. The user table stores the user’s ID, email, login, and password, in which the ID is used as a primary key. For the credential table, it stores the account, the account’s ID, the date of which it was created, the password, username, and user’s ID. In the credential table, the user ID is used to identify which credentials belong on the specified user’s dashboard.

 

To test that the server side was properly interacting with the database, I used Postman by sending POST and DELETE requests.

Final Code

To look at the final code, please refer to the Github link!

© 2035 by Site Name. Powered and secured by Wix

bottom of page