An open API service indexing awesome lists of open source software.

https://github.com/allitov/web-contacts-manager

Application for saving and viewing contact information.
https://github.com/allitov/web-contacts-manager

docker java maven postgresql spring-web-mvc thymeleaf

Last synced: 2 months ago
JSON representation

Application for saving and viewing contact information.

Awesome Lists containing this project

README

        

# Web Contacts Manager

**Приложение для сохранения и просмотра контактных данных.**

Приложение предоставляет возможности по сохранению и просмотру контактов,
а также загрузки данных из файлов, указанных пользователем.

## Настройки приложения
Настройки приложения осуществляются путем изменения значения свойств в файле **application.properties**:

### Настройки профиля приложения
- **spring.profiles.active**:
- _default_ - программа работает без предварительного чтения данных из файла в формате *.sql.
- _init_ - перед началом работы программа читает данные из файла в формате *.sql.
- **spring.sql.init.data-locations** - определяет путь до файла в формате *.sql,
из которого будет проводиться чтение данных (работает только при spring.profiles.active=init).

Формат данных в файле *.sql можно посмотреть в **docker/init.sql**.

### Настройки базы данных
База данных для приложения может быть запущена с помощью **docker-compose.yml** файла командой **"docker compose up"**.
В приложении можно изменить следующие параметры подключения к базе данных:
- **spring.datasource.url** - адрес подключения к базе данных.
- **spring.datasource.username** - имя пользователя.
- **spring.datasource.password** - пароль пользователя.

Остальные параметры, как и саму базу данных, изменять не рекомендуется, так как программа может работать нестабильно.

## Интерфейс и формат ввода
При первом запуске приложения, если записей в базе данных нет, будет доступна лишь кнопка с добавлением контакта.
После добавления хотя бы одной записи, рядом с каждой строкой в таблице контактов появится возможность изменить контакт
или удалить его.

- **"Add contact"** - при нажатии на кнопку приложение предложит создать новый контакт с помощью формы на странице. Возможны два варианта:
- **"Cancel"** - отменяет отправку формы и возвращает пользователя на главную страницу.
- **"Submit"** - отправляет введенные в форму данные на сервер.
- **"edit"** - отправляет пользователю форму, аналогичную форме при нажатии на клавишу "Add contact", но с заполненными данными об изменяемом контакте.
- **"delete"** - удаляет данные о контакте из базы данных.