From a947f90cc0fdd1e1b1215308bd07aaa4c73a9639 Mon Sep 17 00:00:00 2001 From: ciukstar Date: Sun, 15 Oct 2023 02:56:09 +0300 Subject: [PATCH] Write README.md --- README.md | 44 ++++++++++++++------------------------------ 1 file changed, 14 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index 3d47b30..d868f01 100644 --- a/README.md +++ b/README.md @@ -1,43 +1,27 @@ -## Haskell Setup +# Salon -1. If you haven't already, [install Stack](https://haskell-lang.org/get-started) - * On POSIX systems, this is usually `curl -sSL https://get.haskellstack.org/ | sh` -2. Install the `yesod` command line tool: `stack install yesod-bin --install-ghc` -3. Build libraries: `stack build` +The application ["Salon"](https://salon-w3cpovaqka-de.a.run.app) provides the ability to publish and advertise the services of beauty salon owners on the web. -If you have trouble, refer to the [Yesod Quickstart guide](https://www.yesodweb.com/page/quickstart) for additional detail. +## Overview -## Development +The services to be advertised are defined and published in section ["Services"](https://salon-w3cpovaqka-de.a.run.app/admin/services) of group "Data". Optionally, services can be defined as a hierarchy of groups and subservices. -Start a development server with: +Each service can have multiple offers with corresponding prices and currencies. Offers are defined for each Service in the “Services” section in the “Data” group. -``` -stack exec -- yesod devel -``` +Once the service and its offerings are defined, the service can be published. The service and offers will be displayed to the customer in the section ["Services"](https://salon-w3cpovaqka-de.a.run.app/services) and available for booking in the section ["Book appointment"](https://salon-w3cpovaqka-de.a.run.app/book). -As your code changes, your site will be automatically recompiled and redeployed to localhost. +## ERD Diagram -## Tests +![Entity Relationship Diagram](static/img/Salon-ERD.svg) -``` -stack test --flag salon:library-only --flag salon:dev -``` +## State transition diagram for booking -(Because `yesod devel` passes the `library-only` and `dev` flags, matching those flags means you don't need to recompile between tests and development, and it disables optimization to speed up your test compile times). +![State transition diagram for booking](static/img/Booking-State-Diagram.svg) -## Documentation +## State transition diagram for appointment -* Read the [Yesod Book](https://www.yesodweb.com/book) online for free -* Check [Stackage](http://stackage.org/) for documentation on the packages in your LTS Haskell version, or [search it using Hoogle](https://www.stackage.org/lts/hoogle?q=). Tip: Your LTS version is in your `stack.yaml` file. -* For local documentation, use: - * `stack haddock --open` to generate Haddock documentation for your dependencies, and open that documentation in a browser - * `stack hoogle ` to generate a Hoogle database and search for your query -* The [Yesod cookbook](https://github.com/yesodweb/yesod-cookbook) has sample code for various needs +![State transition diagram for appointment](static/img/Appointment-State-Transition.svg) -## Getting Help +## Demo -* Ask questions on [Stack Overflow, using the Yesod or Haskell tags](https://stackoverflow.com/questions/tagged/yesod+haskell) -* Ask the [Yesod Google Group](https://groups.google.com/forum/#!forum/yesodweb) -* There are several chatrooms you can ask for help: - * For IRC, try Freenode#yesod and Freenode#haskell - * [Functional Programming Slack](https://fpchat-invite.herokuapp.com/), in the #haskell, #haskell-beginners, or #yesod channels. +[Click here to see demo](https://salon-w3cpovaqka-de.a.run.app)