Skip to content

Latest commit

 

History

History
160 lines (110 loc) · 5.57 KB

README.md

File metadata and controls

160 lines (110 loc) · 5.57 KB

Logo Barbershop App

Barbershop App


Topics 📋


📖 About

An app for barber shop professionals, where it is possible to manage your own barber shop and even yourself. In addition to having the flow of scheduling appointments and controlling services.


📱 Preview

Barbershop.Demo.mp4

📦 Assets


🛠️ Features and Technologies Studied


🤯 Challenges and Learning along the way

Without a doubt, the biggest learning experience was Riverpod; I realized that it is very interesting for managing the state of an application, going further in points that can be crucial (such as being able to have multiple providers of the same type, performing dispose when it is no longer used, among other things).

Furthermore, it was really cool to learn more about the powers and uses of Dart 3 in practice, such as the new switch and the use of pattern matching; which fit very well and make the code more objective. Another point that was very interesting was the Either used, similar to what is in this article; without any external dependency. You can use functional programming with pattern matching to handle error and success cases.

Various other learnings were acquired and also reinforced; in addition to refactorings and code improvements made along the way. There is always something to be improved and learned. 🚀


🤔 How to use

Configure the Flutter environment on your machine:
https://flutter.dev/docs/get-started/install

- Clone the repository:
$ git clone https://github.com/felipecastrosales/barbershop

- Enter the directory:
$ cd barbershop

- Open the project:
$ code .

- Install the json_rest_server:
$ dart pub global activate json_rest_server

- Enter the api directory:
$ cd api

- Run the server:
$ json_rest_server run

- Enter the project directory:
$ flutter pub get

- Get your IP and put on `rest_client.dart`;

- Execute the application:
$ flutter run

💪 How to contribute

There are several ways to contribute to this project, such as:

- Fork this repository;

- Create a branch with your feature:
$ git checkout -b my-feature

- Commit your changes:
$ git commit -m "feature: My new feature"

- Push your branch:
$ git push origin my-feature

- Open a pull request on this repository and/or create an issue explaining your problem.

📝 License

This repository is under the MIT License, and you can see it in the LICENSE file for more details.


This project was developed with ❤️ by @Felipe Sales, with the instructor @Rodrigo Rahman. If this helped you, give it a ⭐, and contribute, it will help me too. 😉


Linkedin Badge