Disaster Management System ,which is named as AYS(AFET YÖNETİM SİSTEMİ), is an open source and voluntary project. The aim is to manage the needs that arise during a natural disaster. It manages the coordination of the need processes between volunteers and institutions in the disaster area.
This project is designed to be used by non-governmental organizations and volunteers of related organizations. Organizations and the volunteers to be registered by the organizations, the needs in the disaster area, volunteers who are close to the relevant region and need, aims to manage the needs quickly and accurately.
-
Institute (Institution) user Processes : It is aimed to ensure resource management of the organization in case of a disaster and to carry out these processes according to the relevant scenarios. It allocates workloads for volunteers according to the needs and follows up.
-
Admin : The role of Admin takes part in the management of users and institutions that voluntarily participate in the role. It follows up institutions and users.
-
User : It represents the users who are in the relevant disaster area and want to take part in disaster processes voluntarily. Users who want to participate voluntarily can contact the relevant organizations for the needs in their region. can be automatically assigned, or interested volunteers can choose from the needs in their region select the most appropriate assignment and complete the relevant process.
Framework
- Core
- Spring
- Spring Boot 3
- Spring Boot Test (Junit)
- Spring Boot Dev Tools
- Spring Web
- Spring Boot Actuator
- Spring Doc Open API
- Spring Security 6
- Spring OAuth2 Client
- Spring OAuth2 Resource Server
- Spring Data
- Spring Data JPA
- Spring
3rd Party Dependencies
- Lombok
- Test Containers
- Mapstruct
- Easy Random
- JSON Web Token
- JSON Web Signature
- Bouncy Castle
Database
- MySQL
Database Migration Tool
- Liquibase
Language
- Java 17
Build Tool
- Maven
Software Development Process
- TDD
- Agile Kanban
- Jira
Version Control
- Git
- GitHub
APIs Interaction Platform
- Postman
Application Pipeline
- GitHub Actions
The project has been generated by Spring Initializer.
First of all, generate personal access token with this url : https://github.com/settings/tokens
- If you have
~/m2/settings.xml
file in your computer, skip the step without reading the after section. If you aren't using the~/.m2/settings.xml
file to actively, you can be back up it before creating the newsettings.xml
file, if you want. If you are using actively, after the perform step 3 you can manually merge thesettings.xml
file in the project with the~/.m2/settings.xml
file and skip step 2 and 4.- While inside the project directory in the terminal; that is, when you are in the
~/afet-yonetim-sistemi/ays-be
directory, run the commandcp template-settings.xml settings.xml
.- In the settings.xml file within the project, replace the
{YOUR_GITHUB_USERNAME}
placeholder with your GitHub username and replace{YOUR_PERSONAL_GITHUB_ACCESS_TOKEN}
with the access token value you created on GitHub as described in the instructions under the'Instructions Before Building The Project'
section.- If the
.m2
directory has not been created before, you can use the commandmkdir ~/.m2
and then run the commandcp settings.xml ~/.m2/settings.xml
for copy thesettings.xml
file located in the project to the~/.m2
directory.
./mvnw clean install
./mvnw clean install -DskipTests
Before running the project, you need to run the following command to start the MySQL container:
docker compose up -d --build database
If you want to recreate the MySQL container, you can run the following command:
docker compose up --force-recreate -d --build database
If you want to stop the MySQL container, you can run the following command:
docker compose down -v database
- While inside the project directory in the terminal; that is, when you are in the
~/afet-yonetim-sistemi/ays-be
directory, run the commandcp template-settings.xml settings.xml
.- In the
settings.xml
file within the project, replace the{YOUR_GITHUB_USERNAME}
placeholder with your GitHub username and replace{YOUR_PERSONAL_GITHUB_ACCESS_TOKEN}
with the access token value you created on GitHub as described in the instructions under the'Instructions Before Building The Project'
section.
Before running the project, you need to run the following command to start the project container:
docker compose up -d --build
If you want to recreate the project container, you can run the following command:
docker compose up --force-recreate -d --build
If you want to stop the project container, you can run the following command:
docker compose down -v
The project is managed by Jira. You can assign an issue from the Todo list and start working on it.
For other information, you can check Confluence Page.