Own REST API to enable a Digital Wallet App with authentication for storing personal digital keys.
- Language: Java
- Backend:
- REST API built with Spring Boot and MySQL Database
- Authentication with Spring Security and JWT (Password HS256 Hashing)
- Deployed with Docker on Azure Cloud Kubernetes Cluster
- Frontend:
- Designed with Figma
- Built with XML in Android Studio
- REST API has three end points for users to register/login and to retrieve the digital keys from their wallet
- Data is stored in a MySQL database with the hashed password
- Examples of requests and responses are shown below
- Register (POST): base_url/auth/register
{
"email": "kie.scott@gmail.com",
"password": "12345",
"firstName": "Kie",
"lastName": "Scott"
}
{
"id": 1,
"firstName": "Kie",
"lastName": "Scott",
"email": "kie.scott@gmail.com"
}
- Login (POST): base_url/auth/login
{
"email": "kie.scott@gmail.com",
"password": "12345"
}
{
"token": "eyDijfD93.DKjd2..."
}
- Keys (GET): base_url/key (with the authentication bearer token)
[
{
"id": 1,
"firstName": "Kie",
"lastName": "Scott",
"carBrand": "BMW",
"carModel": "iX"
},
{
"id": 2,
"firstName": "Kie",
"lastName": "Scott",
"carBrand": "Polestar",
"carModel": "Polestar 2"
}
]