Использованные технологии:
- Spring Boot
- Postgres SQL
- Spring Security
- Swagger
- Flyway
- Docker
Проект собирается и запускается командой из корневой папки проекта:
docker-compose up -d
После этого приложение соберется в контейнер, подключит контейнер базы данных с данными и будет доступно по адресу http://localhost:8080
Регистрация пользователя http://localhost:8080/api/v1/user/register
Получение Jwt токена http://localhost:8080/api/v1/user/login
Доступ к swagger http://localhost:8080/swagger-ui/index.html
Логин: admin, пароль: 12345
create schema if not exists bank;
create table if not exists bank.appuser(
id integer not null generated by default as identity PRIMARY KEY,
last_name varchar(255),
first_name varchar(255),
middle_name varchar(255),
birthday date,
username varchar(100) unique not null,
password varchar(100) not null,
balance numeric(10, 2) check (balance >= 0),
first_balance numeric(10, 2),
account_nonexpired boolean,
account_nonlocked boolean,
credentials_nonexpired boolean,
is_enabled boolean
);
create table if not exists bank.phone(
id integer not null generated by default as identity PRIMARY KEY,
number varchar (100) unique,
appuser_id integer,
constraint fk_appuser foreign key (appuser_id) references bank.appuser (id)
);
create table if not exists bank.email(
id integer not null generated by default as identity PRIMARY KEY,
email varchar (100) unique,
appuser_id integer,
constraint fk_appuser foreign key (appuser_id) references bank.appuser (id)
);