HelpNow is a modern online application developed as part of an engineer's thesis. Its main goal is to provide immigrants in Poland with access to resources and support during the immigration process. The application aims to assist immigrants by offering information about the immigration process, connecting them to necessary legal and social services, and supporting them in enforcing their rights.
HelpNow follows the popular Model-View-Controller (MVC) architectural pattern in its design. The solution consists of three major components:
-
Relational Database: This component is responsible for storing all the objects used in the application. THe technology used here is MySQL
-
Server Application: The Spring Boot server application contains the business logic of the project. It provides the necessary endpoints for communication with other elements of the project.
-
Client Application: The client application is used to create interactive web pages and serves as the user interface for the application. It was designed using Angular framework that uses popular TypeScript. It can be found in this repository.
The development of HelpNow was divided into several stages, with each stage focusing on implementing individual functionalities and integrating them with existing components. At the end of each stage, the proposed solutions were verified for correctness.
The primary focus throughout the development process was to ensure the achievement of most project assumptions. The result is a fully functional application that can be accessed through a web browser.
To run all applications use docker-compose up
command in the directory of the compose.yml
file. The user interface will be available under the localhost:4200
endpoint.
To run client application locally using ng serve
for a dev server. Navigate to http://localhost:4200/
. The application will automatically reload if you change any of the source files.
To run the HelpNow backend application locally, follow these steps:
-
Clone the repository:
git clone <repository-url>
-
Navigate to the project directory:
cd HelpNow
-
Install the necessary dependencies:
mvn install
-
Configure environment variables, make sure that configuration file contains appropriate database datasource.
-
Run DB and frontend app on chosen port.
-
Start the application:
mvn spring-boot:run
-
The backend server should now be running on
http://localhost:8080
Run mysql container locally:
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=$MYSQL_PASSWORD -e MYSQL_ROOT_HOST=% -p 3306:3306 -it -d mysql
The HelpNow backend application provides various endpoints for accessing and manipulating data related to the immigration process. These endpoints can be utilized by the client application to create a seamless user experience.
Contributions are welcome! If you have any suggestions, improvements, or new features to add, please submit a pull request. Make sure to follow the existing code style and write unit tests for any new functionality.
This project is licensed under the MIT License. Feel free to use, modify, and distribute the application as per the terms of the license.