Home - is an all-in-one social service that will cover all aspects of your communication with your home and neighbors.
-
Internal notification and news system
-
Private messages, chat with selected residents and general OSBB group with all residents or OSBB's modules separately
-
Residents independently form a budget, determine contributions for the maintenance of the house, the sequence of solving problems. This makes it possible to quickly respond to emergencies, to decide what needs to be done in the house or on the adjacent territory in the first place, to ensure the protection of the personal and common property of residents
-
The ability to choose a service provider such as (water, electricity, gas), and pay utility bills
-
The best offers and wishes can be implemented in the OSBB by residents through internal voting system
-
Transparency of expense. The residents' funds go exclusively to the needs of their home and are spent rationally. The head of the OSBB reports directly to the residents, so they are always aware of what the funds were spent on
First of all, you need to check and if it would any necessary to set environment variables
at application-home-data.properties
which contains in home-application/src/main/java/source
module.
spring.datasource.url=${DATASOURCE_URL}
spring.datasource.username=${DATASOURCE_USER}
spring.datasource.password=${DATASOURCE_PASSWORD}
- Java 11
- Docker
- Maven
- PostgreSQL
- IntelliJ IDEA (optional)
Run with Docker
- if you compose it first time, you need to change
home_network external -> false
, because it would try to use remote one that doesn't exist. File is located inhome-dev/launch
package, nameddocker-compose.yml
.
networks:
home_network:
external: false
name: home_network
driver: bridge
- use command
docker-compose up
in packagehome-dev/launch
to run application.
Run with Maven + Intellij IDEA
-
if you don't have
mvn
like environment variable, you need to install it into your environment. -
use
mvn clean install
command in theproject root
directory to build project. -
when you use the command below, you will need to run your docker image named
launch
with containerlaunch-mailhog
. -
change directory to
'project root'/home-data-migration/target
and usejava -jar home-data-migration-0.0.1-SNAPSHOT.jar --url=jdbc:postgresql://localhost:5432/postgres -u=user -p=password
command for connection to your local DB. -
after using this command you will need to choose -
would you like to receive notifications from community?
, there are three ways: but you need to choose between:enter your email
andskip the request(default one)
. -
also, you need to mark following directories in project structure as a Generated Sources Root:
home-application/target/generated-sources/openapi
home-oauth-server/target/generated-sources/openapi
home-clients/target/generated-sources/openapi
home-data/target/generated-sources/java
-
if your API documentation doesn't display correctly try to mark
home-application/target/classes/static
directory as Resources Root. -
run application with your IDEA.
If you did everything correctly, you should be able to access RapiDoc by this URL: http://localhost:8080/api/0/apidocs/index.html
Authorization server can be accessed by this URL: http://localhost:9000/api/0/oauth2/index.html
Detail info about other running options/running tests, you can read in hom-dev package.
After accessing RapiDoc you are able to enter Cooperation
section where you could create Cooperation
:
- there isn`t any need to authorize, because in your DB you don't have any created user and basic authentication will be requested any time you try to do something.
- if you are already authenticated - make sure that you are working in a new session without being authorized(invalidate session).
When you have finished all previous steps:
You need to use your personal email for admin_email
field and change iban
field to make it unique (simply change a few numbers in it).
In your email inbox or in table invitations
of your local DB you should be able to find a registration token
.
Having completed all previous steps you can use the provided registration token in the registration_token field
.
You can create a new user in the User section
where you need to use the same email
as you entered for admin_email
and change
password
on your own using for that registration token
.
Pay attention that you wouldn't be able to edit your email/password after registration!
Our images on Docker Hub:
-
data-migration - this image starts a data-migration for database in docker container
-
home-application - this image starts an application in docker container
- You can find OpenApi specification for the project here
- More information about the project's technologies and modules' description
-
Option 1
- 🍴 Fork this repo!
-
Option 2
- 👯 Clone this repo to your local machine using command:
git clone https://github.com/ita-social-projects/Home.git
Create your Feature Branch
git checkout -b 'name_for_new_branch'
Make changes and test
Open a Pull Request with description of changes
Contributors that have worked on this project:
- MIT license
- Copyright 2021 © SoftServe IT Academy.