# Rentease ![RentEase](assets/assets/icons/favicon-main.png) - [Rentease](#rentease) - [Features](#features) - [Getting Started](#getting-started) - [Prerequisites](#prerequisites) - [Installation](#installation) - [Built With](#built-with) - [Roadmap](#roadmap) - [Contributing](#contributing) - [License](#license) Rentease is a property-management application to help landlords to manage your rental properties efficiently. With Rentease, you can create invoices, generate activity reports, and sync all the booking platforms you use. ## Features - **Invoice Management**: Create and manage invoices for your rental properties with ease. - **Activity Reports**: Generate detailed reports of rental activities to keep track of your property performance. - **Platform Sync**: Sync bookings across multiple platforms to streamline your rental management. ![RentEase Screenshot](assets/assets/img/booking_screenshot.png) ## Getting Started To get started with Rentease, follow these steps. ### Prerequisites You need a version of the Go programming language installed. You can either install it via your package manager or via [Go's official website](https://go.dev/). You also need a PostgreSQL database. You can install it locally using Homebrew or use a cloud alternative such as Railway, fly.io, _etc._ ### Installation 1. Clone the repository ```sh git clone https://github.com/rjNemo/rentease.git cd rentease ``` 2. Install the dependencies ```sh go mod download ``` 3. **Setup PostgreSQL**: Ensure you have PostgreSQL installed and running. Create a database for Rentease: ```sh createdb rentease ``` 4. **Configure the application**: Create a `.env` file in the project root with the following environment variables: ```sh DB_HOST=localhost DB_PORT=5432 DB_USER=your_db_username DB_PASSWORD=your_db_password DB_NAME=rentease ``` 5. Start the application ```sh make dev ``` 6. **Access the application**: Open your browser and go to `http://localhost:8000` to start using Rentease. ### Built With Rentease is built using the following technologies: - [Go](https://go.dev/): The core application logic is written in Go, providing a robust and efficient backend. - [Htmx](https://htmx.org/): For handling AJAX requests and enhancing the user interface with minimal JavaScript. - [Templ](https://templ.guide/): Used for templating and rendering dynamic HTML content. - [Gorm](https://gorm.io/docs): An ORM library for Go, used for database interactions. - [PostgreSQL](https://www.postgresql.org/):The database used to store all application data. ## Roadmap See the [open issues](https://github.com/users/rjNemo/projects/2/views/1) for a full list of proposed features (and known issues). ## Contributing Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**. If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again! 1. Fork the Project 2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`) 3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`) 4. Push to the Branch (`git push origin feature/AmazingFeature`) 5. Open a Pull Request ## License Distributed under the MIT License. See `LICENSE.md` for more information.