Skip to content

castroy10/crm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

Информационная система CRM для тренажерных залов. Backend.

Разрабатываемая CRM система предназначена для учета клиентов, абонементов, тренировок и продаж компании с целью обеспечить структурированное хранение данных и дальнейший их анализ для выявления слабых и сильных сторон ведения бизнеса компании, оценки эффективности сотрудников, финансовых потоков от тех или иных клиентов.

Использованные технологии:

  • Spring Boot
  • Postgres SQL
  • Spring Security
  • Swagger

Сборка и запуск в Docker

После скачивания проекта необходимо создать в папке backend проекта файл .env, в котором указать значения переменных
POSTGRES_USERNAME=
POSTGRES_PASSWORD=
PATH_FOR_AVATARS=/opt/

Проект собирается и запускается из папки backend командой:

docker-compose up -d

После этого приложение соберется в контейнер, подключит контейнер базы данных с данными и будет доступно по адресу http://localhost:8080
Доступ к swagger http://localhost:8080/swagger-ui/index.html
Логин: admin, пароль: 12345

База данных состоит из следующих таблиц:
create table if not exists client(
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,
sex integer,
personal_training_count integer,
email varchar (255),
mobile_phone varchar (255)
);

create table if not exists abonement_type(
id integer not null generated by default as identity PRIMARY KEY,
type varchar (255) unique
);

create table if not exists abonement(
id integer not null generated by default as identity PRIMARY KEY,
date_created date,
date_expired date,
price integer,
is_active boolean,
is_frozen boolean,
date_frozen date,
client_id integer,
type_id integer,
constraint fk_client foreign key (client_id) references client(id),
constraint fk_abonement_type foreign key (type_id) references abonement_type(id)
);

create table if not exists trainee(
id integer not null generated by default as identity PRIMARY KEY,
last_name varchar(255),
first_name varchar(255),
middle_name varchar(255),
sex integer,
email varchar (255),
mobile_phone varchar (255)
);

create table if not exists personal_training(
id integer not null generated by default as identity PRIMARY KEY,
date date,
price integer,
client_id  integer,
trainee_id integer,
constraint fk_client foreign key (client_id) references client (id),
constraint fk_trainee foreign key (trainee_id) references trainee(id)
);

create table if not exists contract_status(
id integer not null generated by default as identity PRIMARY KEY,
status varchar (255) unique
);

create table if not exists contract(
id integer not null generated by default as identity PRIMARY KEY,
date_created date,
client_id integer,
abonement_id integer,
status_id integer,
constraint fk_client foreign key (client_id) references client(id),
constraint fk_abonement foreign key (abonement_id) references abonement(id),
constraint fk_status foreign key (status_id) references contract_status(id)
);

create table if not exists other_product(
id integer not null generated by default as identity PRIMARY KEY,
name varchar(255) unique,
price integer
);

create table if not exists purchase(
id integer not null generated by default as identity PRIMARY KEY,
date date,
client_id integer references client,
other_product_id integer references other_product
);

create table if not exists appuser(
id integer not null generated by default as identity PRIMARY KEY,
last_name varchar(255),
first_name varchar(255),
middle_name varchar(255),
username varchar(100) unique not null,
password varchar(100) not null,
email varchar(100),
avatar varchar(100),
account_nonexpired boolean,
account_nonlocked boolean,
credentials_nonexpired boolean,
is_enabled boolean
);

create table if not exists role(
id integer not null generated by default as identity PRIMARY KEY,
role_name varchar(255) unique
);

create table if not exists appuser_role(
appuser_id integer references appuser,
role_id integer references role,
constraint unique_appuser_role unique(appuser_id, role_id)
);

About

Информационная система CRM

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published