GithubHelp home page GithubHelp logo

he-arc / calm Goto Github PK

View Code? Open in Web Editor NEW
2.0 3.0 0.0 330 KB

Capable and Accessible Laundry Manager (CALM) is a web-based application for managing laundry facilities in rental properties.

Home Page: https://calm.k8s.ing.he-arc.ch/

License: MIT License

PHP 60.53% JavaScript 3.15% Blade 34.50% Dockerfile 0.47% Shell 0.04% CSS 1.30%

calm's Introduction

Contributors Forks Stargazers Issues MIT License


Logo

CALM

Capable and Accessible Laundry Manager (CALM) is a web application for the management of laundry facilities in rental buildings. It offers features such as monetary management, hourly planning, and reservation management.
Explore the docs »

View Demo
Washing machine icons created by Konkapp - Flaticon

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

Project Mockups

Created on Figma

(back to top)

Built With

  • Laravel
  • Tailwind CSS
  • Flowbite

(back to top)

Getting Started

To get a local copy up and running follow these simple example steps.

Prerequisites

If you want to use Docker, install Docker. If you are not using Docker, download a software like Xampp, Wampp, ...

Installation

Clone the repository

En SSH

git clone [email protected]:HE-Arc/calm.git

En HTTP

git clone https://github.com/HE-Arc/calm.git

If you are working with Docker, skip to the Docker section

Docker

In a terminal in the project's current folder

docker compose up -d

Once the images have been built, the containers will launch automatically. The application is available at http://localhost:8000.

Sans docker

⚠️Attention

It is necessary to run the command npm install the first time you get the project to install all dependencies. Also, you need to run this command when new packages are added.

Setting up the database

If you are working on a local machine with Xampp, for example, start the apache and mysql services.

To enter the following commands, you need to be in the ~/calm/calm-server/ directory.

Install dependencies and set up the Laravel project.

Before all these operations, you need to copy the .env.example, rename it to .env and place it in the root of the ~\calm-webserver\. You'll need to adapt it to your database configurations.

composer install
php artisan key:generate
php artisan migrate
php artisan db:seed

Launch the project

ℹ️ Important

It is necessary to start the Laravel server and the Vite server during development.

From the subfolder ~\calm\calm-webserver\, in a terminal, enter the following commands:

php artisan serve
npm run dev

The application is available at http://localhost:8000.

(back to top)

Usage

To test the functionality of the application, you can log in as a test user from the login form with the following credentials:

Username

Password

password

(back to top)

Roadmap

See the RoadMap

See the open issues for a full list of proposed features (and known issues).

(back to top)

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

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Contact

(back to top)

Acknowledgments

(back to top)

calm's People

Contributors

ylked avatar clawdeenfleury avatar lugopi avatar

Stargazers

 avatar  avatar

Watchers

 avatar Julien M'Poy avatar  avatar

calm's Issues

Fix logout button

J'ai modifié le bouton de déconnexion pour qu'il soit un élément input de type submit afin que la déconnexion se fasse avec une requête POST. J'ai juste repris les classes du lien <a> que j'ai mis dans le bouton mais ça fait que la zone du bouton est plus petite que le reste.

image

Fix hidden select form

If organisation is selected and then the page is refreshed, there is no way to change the laundry, because the select input is hidden. Bug visible on Firefox

image

Update detail reservation view for desktop

Dans la view reservations/show, ajouter les classes css : w-full mx-auto rounded-sm md:w-1/2 dans la balise article et ajouter les classes md:flex md:mx-auto dans la balise <input type="submit">

Streamline tailwind css

extracts class tailwind class from the html and put them into components layer as much as possible

Create view bookings

Création de la liste permettant d'afficher les réservations (page statique)

Define and create routes

Il faut ajouter également la liste des paramètres nécessaires entre la vue et le contrôleur (doc).

Add "remember me" option

Laravel authentication manager has an option to remember the logged in user for a longer amount of time. The option has to be enabled by the user, directly on the login form.

To remember the user, we need to store an additional token into the database (remember_token column in users table). Our database is already adapted for this functionality.

The following tasks need to be completed :

  • Add a "Remember me" checkable option on the login form (view)
  • Pass the remember parameter to the Auth::attempt method when logging in (controller)

See the official documentation for more details.

Update doc env file

Ajouter dans la documentation soit un exemple de fichier .env, soit un .env avec les champs minimum

Update reservationcontroller route

Retour sur le rendu intermédiaire dans la partie Bonnes pratiques:
Attention lorsqu'on renvoie une route en brute dans le ReservationController ! Si elle change, ça peut poser des problèmes dans l'application. Il est préférable d'utiliser la méthode route() avec des routes nommés.

Update type in model machine

Retour sur le rendu intermédiaire dans la partie Bonnes pratiques :
Très bon en général ! Intéressant l'idée d'utiliser un swtich case pour le type dans le modèle Machine. Une très bonne alternative serait d'utiliser un Enum et un tableau associative (plus maintenant et plus lisible) !

Persistance data form

Retour du rendu intermédiaire dans la partie Vue :
On peut utiliser la méthode old() pour récupérer les inputs de la dernière request lorsque l'utilisateur génère des erreurs dans un formulaire https://laravel.com/docs/10.x/requests#old-input

  • Formulaire de connexion
  • Formulaire d'inscription
  • Formulaire de recherche de disponibilité de réservation

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.