Salami A Modern Card Generator App cover image

Salami A Modern Card Generator App

'Salami' is a Flutter-based Android and web application that allows users to auto-generate beautiful cards with ease. The app utilizes Firebase for Analytics, Hosting, Push Notification, and Authentication, and GitHub Action for auto-deployment. With over 200 downloads and 1,000+ website visitors during the festival season, 'Salami' is an app that is gaining traction.

AZRAF AL MONZIM
flutter
dart
firebase
github-action
app
web
android

Project Overview

'Salami' is a multi-platform application that allows users to quickly and easily create beautiful cards. The app is available on Android and the web, and it is built using the Flutter framework. To power its backend, 'Salami' utilizes Firebase. Firebase provides a range of services that are essential to the app's functionality, including Analytics, Hosting, Push Notification, and Authentication. With Firebase, 'Salami' can provide a seamless and secure user experience. One of the standout features of 'Salami' is its GitHub Action for deployment.

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.

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.