Development Practices
In order to ensure long gevrey of the product and employee retention, we must follow these practices. They simplify development and your life as a developer.
- Frontend
- Backend
Frontend
Flutter practices
For the Flutter development to be as simple as possible, it's important to follow the rules of Clean Code and Clean Architecture. This means developing and organizing the code in a way that's easy to understand and maintain. We intend to avoid as much code repetition as possible and we want to make our code and widgets reusable for future applications or updates. To keep that working, while developing, try to separate the views's fragments in components/widgets and store them in their respective folders. As we want to make our code simple to maintain, we are also using the ThemeData class to set static definitions for our components in the views; in case we have a redesign or layout changes, it's easier to change in the code. Finance is a web app, so it's important to be responsive. To guarantee that, we are using the responsive widgets/components that Flutter provides, such as: LayoutBuilder, MediaQuery, Padding and others. For the LayoutBuilder, we created an adaptation to build a desktop views, a tablet views and a mobile views in an easier and more organized way. While developing, it's important to remove any unused code once it's no longer being used. Keep the classes clean and easy to understand. There are some important rules from Clean Code that we want to keep in mind: a method should do only one thing, avoid code repetition, and refactor as much code as possible to make it easier to maintain.
Source code
We will be using Flutter for frontend development with Provider as the state management. Dart as the programming language, Firebase and Calm Finance API and JavaScript for the backend. Google Cloud Platform will be used for the server and GitHub will be our code manager. We will use Google chat to communicate internally and email for any official business questions or requests as well as all external communication such as with the client, suppliers, customers, etc. All documents will be stored and managed on Google Drive. Firebase has many tools that we can use to ensure that the data is safe and our team knows how to make it as safe as possible.