Overview

Fluttertop is an outsourcing firm that offers technical knowledge to companies of all sizes and sectors. We create custom apps ranging from simple to complex to solve our clients’ business difficulties. To address business issues, even software engineers require innovative solutions. We needed a digital solution to solve our management issues.

We will tell you how to construct a scheduling app based on our own experience So let’s get started.

What Was the Purpose of a Scheduling App?

Software development is a multi-stage process involving numerous departments, each of which performs its job to benefit the final product. You can’t get by without competent management. 

Several scheduling apps are available to help with the development process. There is a wide range of digital solutions, each of which aims to address all of the following tasks:

1) Managing your schedule. Meetings must be scheduled, projects must be tracked, budgeting must be controlled, and staff workload must be managed using such apps.

2) Communication in real-time – Such systems help in scheduling messages, emails and meetings. This makes communication smooth and flexible.

3) Managing shifts – Large firms with many people can’t function without a transparent and easy-to-use management system for working days and hours, vacations, sick days, etc.

4) Reporting and analytics – Some businesses require transparent insights on the number of hours worked, the time spent on specific tasks, and the total burden. Depending on their internal procedures—this aids in the proper implementation of processes and the management of the company’s finances.

At Fluttertop, one of our most important jobs is to optimise internal processes, and we aim for excellence in this area. Our top management priorities include – 

  • Clear communication between departments and staff 
  • Ease of connection with customers
  • Pipeline continuity. 

The Origins of “LetsMeet”

Before we tell you about the history of how we came to construct our scheduling system, it’s important to understand why we opted to do so.

We went through a pre-production cycle before designing “LetsMeet”, which is worth going through in more depth. This will provide you with a clear image of how an abstract concept became a fully functional digital product.

Fluttertop wanted a unique scheduling app that would emerge as the best solution to all our problems.

These are the stages we went through while making it.

Stage 1: Pre-Production

It all started with figuring out what we needed and wanted to improve our scheduling process. The following were our key issues:

  • It was difficult to coordinate meetings across multiple locations.
  • We need to organise agreements at various places, this makes the booking procedure really slow.
  • Due to a lack of awareness, many meetings were missed, and workers were late for them.
  • Queues were formed in meeting rooms.

We understood our primary problems helped in creating a feature list and assigning duties to designers to research similar solutions on the market and how to implement the functionality we require.

Stage 2: Design

When the challenge of creating a scheduling app arose, the designers first conducted a market analysis and competitive analysis. This helped us to have a better picture of what we’re up against.

Additionally, the designers spoke with department team leaders to learn about the specifics of using meeting rooms and the most prevalent concerns about the booking procedure. All of this contributed to the completion of the feature list and the commencement of the design process.

We decided on two user roles for the application: administrator and user. An administrator can set up an organisation, add meeting room details, send invitations to users, and prohibit users. The user can reserve a meeting room and make changes to the record. This is critical since it affects the design process and necessitates a different strategy for each user role.

Wireframes for “LetsMeet”

The next step was to replicate the application’s core logic and distribute the functionality across the screens. Wireframes, a map of projected screens that visually explain the reason and structure of the entire app, were built by the designers for enhanced clarity.

Following the UX phase and acceptance of the application logic, the designers moved on to the UI phase, which entails the creation of the full visuals for all of the application’s states. The presence of beautiful typography, the removal of extraneous graphics, and a concentration on content were the major criteria in the design’s development. It had an impact on the application’s colour palette and the complexity of the graphics.

As a result, the design team agreed on a colour palette and a related corporate style and safe contrast standards.

Stage 3: Assembling the Team

Another challenge was putting together a development team. We couldn’t dedicate a complete team to this project because the developers were already working on other projects. However, the solution to management issues could not be put off indefinitely.

After a series of discussions, the decision was made to let the entire development team on the project independently, with no specified deadlines. As a result, we could kill two birds with one stone, as the core projects were not harmed, and the development of “LetsMeet” could commence.

Furthermore, our team lacked free back-end developers, prompting us to abandon the self-written back-end structure and use a ready-made solution.

The “LetsMeet” Tech Stack

It’s time to discuss the technologies that assisted us in developing scheduling software.

Flutter has taken over as the primary development tool. It’s an open-source, cross-platform toolkit for creating mobile, web, and desktop apps from the same codebase. But what is the significance of Flutter? This is due to several factors:

1) A cross-platform solution

Flutter allows developers to create cross-platform apps without losing quality. Flutter enables you to obtain the greatest quality in terms of design and features without constructing a digital solution for each platform independently.

2) Improved performance

Developers may use Flutter to create feature-rich, high-performance apps for any platform.

3) The speed with which code is written

This technology aids in accelerating the development cycle and the distribution of applications to users. Thanks to the groundbreaking Hot Reload feature, flutter allows for a speedier development approach. This implies that developers can change the code and immediately see the results. They can repair errors, try new elements, and observe how it works in less than a second.

We did, however, use the following technologies in addition to this tool:

  1. a) Languages

Dart. It’s the main cross-platform, object-oriented programming language we used to create our software.

Kotlin. It’s a statically typed programming language primarily used to create platform solutions.

Swift. For the iOS platform, we employ this programming language for platform duties.

  1. c) Information database

Firebase. As a cloud data storage solution, we chose this service. We were able to avoid reinventing the wheel and start the server part from fresh due to this.

  1. d) Authentication

Firebase Auth – We were able to integrate the login and registration procedure into our application in just one day, thanks to Firebase. In addition, the given user management console assisted us in both testing and managing our users.

  1. e) Secure storage

Storage with Firebase – The Firebase cloud storage feature was great for storing our users’ avatars.

  1. f) Accident reports

Crashlytics from Firebase – It’s an excellent tool for swiftly identifying and resolving issues. Firebase can track fatal and non-fatal mistakes, and reports are provided based on the impact of failures on user experience. Unfortunately, it is not yet accessible for web development.

  1. f) Outside services

Google Calendar is a service that allows you to keep track of meetings. We were able to synchronise accommodation bookings with the Google calendar with the help of this service. As a result, the reservations of the staff members are visible in “LetsMeet” and on everyone’s calendar.

So, let’s look at the features we decided to include in our scheduling app.

We incorporated them into our system to address meeting management and scheduling issues.

Registration

In the programme, users can register as either administrators or regular users. The admin role allows you to build organization profiles, add chat rooms, manage their visibility, and invite users to join the organization. Users can also download and edit meetings.

Management of users and rooms

After registering the organization, the administrator can email users to invite them to join or manage it (invite new ones, view a list of all conference room bookings, and remove them from the organization). In addition, you can work with conference rooms by temporarily hiding the booking option, editing the name, and adding new ones.

Meetings and room reservations

When creating a booking, the user can select a time frame, a meeting description, and whether or not the appointment should be repeated. Additionally, each user can view the schedule for the current day, the entire month, and as a list. There are also options for amending or removing a reservation that has already been made and examining the details of another user’s reservation.

Google Calendar synchronisation

All meetings made in the app are automatically linked with employees’ personal Google calendars, allowing them to see the actual day and time of the meeting and arrange other tasks accordingly.

Particularities and Challenges in the Development Process

Creating any digital product is a complicated process in which many difficulties are inevitable. You can meet them if you opt to design a scheduling app. “LetsMeet” development was not without its challenges. Our development team was able to resolve the issues promptly.

Adaptive Design

We wanted the design to be compatible with different platforms. Flutter is a fantastic solution for developers who need to create code once and then run it on various devices. However, the mobile user interface will appear poor on the web, and the web user interface will look bad on mobile devices.

As a result, the developers needed to construct a widget that allowed them to choose which layout would be displayed on the device. If the user has opened a web application, the web UI will be displayed, and if the user has launched a mobile application, the mobile UI will be displayed.

Pop-up Menu with Your Design

When building a solution for a mobile app, knowing the correct screen size makes it simple to interact with UI elements. On the other hand, our application is cross-platform, and web applications are dynamically sized. As a result, the pop-up menu would not appear when we clicked on the booking. The issue was that the developers were unsure whether there was enough room to display the pop-up window.

Writing a separate algorithm to check which side of the pop-up menu should be shown so that nothing overlapped was the solution to the problem. Every time a menu showed on the screen, this check was performed.

Syncing your Google Calendar

The Google APIs library was chosen to synchronise bookings with Google Calendar. It gave programmers access to the Google Calendar API. Initially, we had the issue of the calendar window opening in the browser on smartphones, which was not very appealing.

With the googleapis auth library, the answer was immediately discovered. It authorised us to open a window in our programme to access the calendar directly.

Conclusion

To conclude, the project took approximately 320 hours to complete and was overseen by a team of “seven” experts who worked tirelessly to construct this application. Following the release of the final version, the entire firm began testing its functionality and impact on internal management. And everyone was pleased because the effect was above their wildest dreams.

Because of the simplified booking process, internal pipelines have been considerably improved.

Due to increased knowledge and accessibility of information, protests and the number of rallies gone missing have dropped.

The meeting rooms’ queues were eliminated, and their pressure was lessened.

The development team has done an outstanding job and will continue to do so. They’re still working on a new “LetsMeet” update that will include additional features that we can’t discuss just yet.

Our ability to work with Flutter and its features assisted us in resolving management issues that had a detrimental impact on the whole workflow. And this is what we do every day: we use unique digital solutions to help “organisations, startups, and SMBs” solve challenges and improve performance.

Numbers for Fluttertop:

The property has been on the market for more than ten years.

170+ successful projects 120+ in-house engineers

8+ industries with a high level of expertise

Healthcare, Logistics, FinTech, Retail, Education, Travel, Marketplaces, and Media are some industries in which we work. We take an individualised approach to each situation and ensure top-tier quality, development process transparency, and high professionalism.

Want us to build your app too?

Contact us at – sayhi@fluttertop.com