https://github.com/hoxtygen/home360-server
Home360 is an online real estate application. It allow users to rent both private and commercially available houses and apartment.
https://github.com/hoxtygen/home360-server
java mongo-database mongodb postgresql postgresql-database spring-boot spring-security spring-security-jwt springboot
Last synced: about 2 months ago
JSON representation
Home360 is an online real estate application. It allow users to rent both private and commercially available houses and apartment.
- Host: GitHub
- URL: https://github.com/hoxtygen/home360-server
- Owner: Hoxtygen
- License: mit
- Created: 2023-04-29T21:20:26.000Z (about 3 years ago)
- Default Branch: develop
- Last Pushed: 2026-02-22T17:43:26.000Z (4 months ago)
- Last Synced: 2026-02-22T18:16:28.216Z (4 months ago)
- Topics: java, mongo-database, mongodb, postgresql, postgresql-database, spring-boot, spring-security, spring-security-jwt, springboot
- Language: Java
- Homepage:
- Size: 921 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Home360
Home360 is an online real estate web application. It allows users to rent both private and commercially available houses
and apartment.
## Built with
* [Spring Boot 3.0](https://spring.io/projects/spring-boot)
* [Spring Security](https://spring.io/projects/spring-security)
* [JSON Web Token](https://jwt.io/introduction)
* [Maven](https://maven.apache.org/)
* [MongoDB](https://www.mongodb.com/)
* [PostgreSQL](https://www.postgresql.org/)
* [Mailgun](https://www.mailgun.com/)
* [Docker](https://www.docker.com/)
* [Bucket4j](https://www.bucket4j.com)
* [Redis](https://redis.io/)
## Features
* User registration
* User login with JWT authentication
* Password reset
* Refresh token
* Password change
* Account verification
* Listing creation
* Listing deletion
* Search listings
* Fetch listings
* Make listing enquiry
* Mark listing enquiry as read
* Fetch listing enquiries
* In-app messaging
* Rate limiting
## Getting Started
To get started with this project you'd need to have the following installed on your local computer:
* JDK 17+
* Maven 3+
* PostgreSQL
* MongoDB
* Docker (optional if you only want to run it locally)
To build and run the project follow the steps below
* Clone the repository [https://github.com/Hoxtygen/home360-server.git](https://github.com/Hoxtygen/home360-server.git)
* Open a terminal and navigate to the project directory: `cd home360`
* Add home360_dev to your local Postgres database
* Add home360dev to your local MongoDB database
* Create a `.env` file and add the following
```
POSTGRES_USER=
POSTGRES_PASSWORD=
POSTGRES_DATABASE=home360_dev
POSTGRES_LOCAL_PORT=
POSTGRES_DOCKER_PORT=
MONGODB_USER=
MONGODB_PASSWORD=
MONGODB_DATABASE=home360dev
MONGODB_LOCAL_PORT=27017
MONGODB_DOCKER_PORT=27017
SPRING_LOCAL_PORT=8080
SPRING_DOCKER_PORT=8080
```
* Create `application-dev.yml` and `application-docker.yml` files and add to the resources' directory. Check the `application-sample-dev.yml` for
content to fill it up with.
There are 2 ways to run the app
1. Using the docker compose file.
- By default, active profile is `docker`
- `docker-compose -f docker-compose.dev.yml up --build`
- This will build and start the app on port `8080`
2. Running a local version of the Spring boot app
- Build the project : `mvn clean install`
- Run the project: `mvn spring-boot:run`
## Documentation
* Application is available at [http://localhost:8080](http://localhost:8080/api)
* Documentation is available at [http://localhost:8080/swagger-ui/index.html#/](http://localhost:8080/swagger-ui/index.html#/)
* The client can be found at [home360 client](https://github.com/Hoxtygen/home360-frontend)
## License
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details
## Author
* [Wasiu Idowu](https://github.com/Hoxtygen)