Skip to content
/ rephs Public

Real Estate Publishing Help System - generate attractive websites for your real estate / business

License

Notifications You must be signed in to change notification settings

jjba23/rephs

Repository files navigation

REPHS - Real Estate Publishing Help System

REPHS

https://git.sr.ht/~teutonicjoe/honeybadger/blob/master/dist/haskell.png https://git.sr.ht/~teutonicjoe/honeybadger/blob/master/dist/gnu-gpl-v3.png

Real Estate Publishing Help System, also known as Real Estate Publishing in Haskell.

If you like my work, please support me by buying me a cup of coffee ☕ so I can continue with a lot of motivation.

This program will help you generate attractive websites for your real estate / business with a very simple way to manage the data in the sites.

The point is to be able to flexibly on a “per-site” / “per-project” basis, to generate interesting and configurable websites. Mostly these are static websites, with some CSS, JavaScript and HTML. This can be adjusted and expanded as needed futurely too.

Configuration

You can configure the generation of the site in different manners. Here I shall document the approach I take and the formats I use when using this tool, for publishing my projects with it, including “Casa del Cata” which you can take as an example.

Bear in mind that creating an entirely new project will involve some programming with Haskell. This project is somewhere between library and executable, in terms of configurability.

NOTE: All CSV files you use should be using semicolor ; as the field delimiter. Ensure you save everything as UTF-8.

Comments about the real-estate property can be added via a CSV file. See resources/casa-del-cata/comments.csv.

Reserved dates for the real-estate property can be added via a CSV file. See resources/casa-del-cata/reservations.csv. Currently the only date format supported is %d/%m/%Y, e.g. 19/07/2023, the European standard.

Translations for your page can be added via a CSV file. See resources/casa-del-cata/translations/en.csv.

You can specify which page versions per language you want to create with the -l flag as a comma-separated value: e.g. stack run -- -l "en,nl,es"

The data needed for the page can be configured via a YAML file. can be added via a CSV file. See resources/casa-del-cata/pages/home.yaml. Here you can configure the data used for generating the page, translatable values should be given via translation key.

Other kinds of static files can also be included in the build, such as CSS and JavaScript. In the Makefile tasks are defined to build projects, and in those steps the copying of those assets is done.

Running

For complete information on CLI usage run stack run -- --help.

For example, from source code:

stack run -- -p casa-del-cata -c "resources/casa-del-cata/comments.csv" -w "resources/casa-del-cata/pages/*.yaml" -r "resources/casa-del-cata/reservations.csv" -t "resources/casa-del-cata/translations/en.csv" -l "en"

The whole build process for Casa del Cata is triggered by doing:

# Preparation scripts only needed once
make refresh-rephs-work
make make-rephs-work
make cdc-get-css
make-cdc-get-js
# Build
make casa-del-cata

You can test the outcome locally with a dead simple web server:

npm install -g http-server
make casa-del-cata && http-server --cors -p 8000 dist/casa-del-cata

# I have my preference aliased to:
make cdc-dev

Progress on the work

support more date formats from file (EuropeanDateFormat / AmericanDateFormat)

fully i18n everything

commodities improvements

color palette, maybe more catppuccin ?

archive.html password protected

reservations.csv comments.csv in .gitignore, use from AWS so everyone can easy edit

(idea of David) investigate way to auto-generate translations

Add calendar with crossed dates

Add language switcher

multi-language deployment logic

image gallery improvements

Add geolocation with Google / Open Street Maps as iframe

About

Real Estate Publishing Help System - generate attractive websites for your real estate / business

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published