Salami is an Android and web application designed to help users auto-generate beautiful cards effortlessly. The application was developed using Flutter and was first released on July 15th, 2021. This blog post provides an in-depth overview of the Salami app, its features, and the technologies used it.
-
Dynamic Link: https://selami.page.link/app
-
Download Salami on Google Play Store: PlayStore
-
Salami website: https://salami.monzim.com/
-
Salami GitHub repository: https://github.com/monzim/salami

Features
Salami is designed to help users create stunning cards with ease. It has several features that enable users to customize their cards to their preferences. Some of the features include:
- User-friendly interface: Salami has a simple and easy-to-use interface that makes creating cards a breeze.
- Auto-generation of cards: The app auto-generates cards, which saves time and effort for users who do not want to spend hours creating cards from scratch.
- Customizable templates: Salami provides several templates that users can customize to their preferences. Users can choose from a variety of templates and customize them by adding text, images, and colors.
- Offline capability: Salami can work offline, making it ideal for users who do not have a stable internet connection.
- Integration with Firebase: Salami integrates with Firebase for hosting, analytics, push notifications, and authentication, providing users with a seamless experience.
Technologies used
Salami was developed using Flutter, an open-source UI software development kit created by Google. Flutter is known for its fast development, expressive and flexible UI, and native performance. The app integrates with Firebase for hosting, analytics, push notifications, and authentication, which enhances its functionality.
The Salami team also used GitHub Actions for auto-deployment, making it easy to push new changes to the app's codebase and ensure the latest version is always available to users.

Flutter
Flutter is a popular open-source UI software development kit created by Google. It is designed to enable the creation of high-performance, high-fidelity, and apps with a native feel for Android, iOS, web, and desktop from a single codebase. Salami was developed using Flutter because of its fast development, expressive and flexible UI, and native performance. Flutter also supports hot reloading, which significantly reduces the time required to see changes in the app's codebase. The use of Flutter ensured that Salami is a reliable and high-performing app for card generation.
Firebase
Firebase is a powerful mobile and web app development platform that provides various tools and services to help developers build high-quality applications efficiently. Salami integrates with Firebase for hosting, analytics, push notifications, and authentication, providing users with a seamless experience. Firebase Hosting enables the app to deliver high-quality and fast web experiences, while Firebase Analytics enables the team to gain insight into user behavior and usage patterns. Firebase Authentication enables secure user authentication, and Firebase Cloud Messaging provides a reliable and scalable push notification service for the app.
GitHub Actions
GitHub Actions is an automated workflow tool that enables developers to build, test, and deploy their code from GitHub. The Salami team used GitHub Actions for auto-deployment, ensuring that the latest version of the app's codebase is always available to users. GitHub Actions provides a seamless and automated process for pushing changes to the app's codebase, ensuring that users always have access to the latest version of the app.
Architecture
Salami's architecture is built on the Model-View-Controller (MVC) pattern. This pattern separates the app's logic into three components: the model, view, and controller. The model represents the data and logic of the app, the view is responsible for rendering the UI, and the controller is the mediator between the model and view, handling user input and business logic. This architecture ensures that the codebase is easy to maintain, update, and test.
GetX
This app uses GetX for state management. This is a very popular package in the Flutter community. It also uses Getx Cli.
Future Development
Salami has the potential for future development and expansion. Some of the possible features that the Salami team could include in future releases include:
- Improved templates: The team could expand the selection of templates available to users, making it easier for users to create customized cards.
- Integration with other platforms: The team could explore integrating Salami with other platforms such as Instagram, Facebook, and Twitter, enabling users to share their cards with a wider audience.
- Localization: The team could localize the app to support different languages, making it accessible to a more diverse user base.


