Property management app
Find a file
Ruidy cf1620592a
create invoice (#39)
### TL;DR

Enhanced invoice generation with improved formatting and Euro symbol display

### What changed?

- Added Euro symbol (€) to monetary values in the invoice template
- Implemented new invoice data structure with dedicated types for lines and payments
- Created ToInvoice method to properly format booking data for invoice generation
- Added HTML template parsing and rendering functionality
- Improved date formatting for consistency
- Added new API endpoint for booking creation

### How to test?

1. Create a new booking through the API
2. Navigate to the PDF generation endpoint
3. Verify that monetary values display with Euro symbol
4. Check that dates are properly formatted
5. Confirm that payment history and totals are correctly calculated
6. Validate that the generated HTML maintains proper formatting

### Why make this change?

To improve invoice readability and consistency by standardizing monetary value display and providing better data structure for invoice generation. This change also makes the system more maintainable by separating concerns between data transformation and presentation.
2025-02-04 11:34:14 +01:00
.github/workflows fix: dependencies 2024-12-08 17:45:47 +01:00
assets create invoice (#39) 2025-02-04 11:34:14 +01:00
cmd/cron create invoice (#39) 2025-02-04 11:34:14 +01:00
docs improve layout 2024-11-25 14:58:18 +01:00
internal create invoice (#39) 2025-02-04 11:34:14 +01:00
pkg/time use std lib for time formatting 2024-04-12 17:31:24 +02:00
scripts Raw 34 enable payments (#35) 2025-01-24 17:30:35 +01:00
.air.toml create invoice (#39) 2025-02-04 11:34:14 +01:00
.gitignore create invoice (#39) 2025-02-04 11:34:14 +01:00
Dockerfile Create taxes for taxable items automatically (#16) 2024-08-26 21:44:31 +02:00
Dockerfile.dev cleanup 2024-08-23 08:21:22 +02:00
go.mod fix bugs (#37) 2025-01-25 00:41:32 +01:00
go.sum fix bugs (#37) 2025-01-25 00:41:32 +01:00
justfile Raw 34 enable payments (#35) 2025-01-24 17:30:35 +01:00
main.go create invoice (#39) 2025-02-04 11:34:14 +01:00
README.md fix: the card total reporting 2024-12-24 18:13:19 +01:00

Rentease

RentEase

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][product-screenshot]

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. 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

    git clone https://github.com/rjNemo/rentease.git
    cd rentease
    
  2. Install the dependencies

    go mod download
    
  3. Setup PostgreSQL: Ensure you have PostgreSQL installed and running. Create a database for Rentease:

    createdb rentease
    
  4. Configure the application: Create a .env file in the project root with the following environment variables:

    DB_HOST=localhost
    DB_PORT=5432
    DB_USER=your_db_username
    DB_PASSWORD=your_db_password
    DB_NAME=rentease
    
  5. Start the application

    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: The core application logic is written in Go, providing a robust and efficient backend.
  • Htmx: For handling AJAX requests and enhancing the user interface with minimal JavaScript.
  • Templ: Used for templating and rendering dynamic HTML content.
  • Gorm: An ORM library for Go, used for database interactions.
  • PostgreSQL:The database used to store all application data.

Roadmap

See the open issues 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.