Comoonity App
App allowing users to see local businesses nearby
Local people supporting local businesses
Comoonity is an online platform designed to put small businesses in touch with local people. There are 2 main goals with Comoonity:
Give residents a place to view all their small businesses in their community and what they have to offer.
Help small businesses with their marketing and connect with their nearby residents
The main attraction for Comoonity is the app.
What is the app?
Upon successful registration, users have the option to become part of a Comoonity. The homepage of this platform, as depicted in the accompanying screenshot above, displays various categories that businesses are classified into. Upon selecting a category, such as gyms, users will be presented with a list of all the gyms within their chosen Comoonity. The screenshot below showcases an alternative category available for exploration called other.
Within the showcased interface, every business is represented by their logo, accompanied by a captivating cover image and a visible count of their available offers. Notably, a "follow/unfollow" button is provided, enabling users to choose whether to stay updated with the business. Opting to follow means users consent to receiving email updates from the business. These updates may include information about the business itself or their latest offers, conveyed through professional and branded email templates facilitated by another platform. By clicking on the business card, users gain access to additional details and insights about the respective business.
While exploring the business page, users are presented with a concise description of the business, their available offers, and contact information. Notably, there are strategically placed call-to-action buttons to encourage user engagement. Please refer to the accompanying screenshot for visual reference.
Additionally, you can see events and jobs are labelled as 'Coming Soon'. These are part of the 1.1.0 release expected soon.
Building the application
This app is built in Vue.js and is setup to be a progressive web app (PWA). Basically, PWAs are like regular apps but not hosted on the app store. It makes things easier for developers as they don't have to build 2 different versions of an app for both the web and an app store. This also means that Apple/Google don't take a cut of the revenue generated by the app as they can be downloaded from the website. That being said, they appear to be able to be hosted on the app store if the business desires.
I have dedicated numerous hours to this application, collaborating closely with the founder to identify and implement enhancements. To ensure transparency, I utilised Jira to meticulously outline all the necessary tasks for its development, which were shared with the founder. Employing an Agile methodology, particularly a kanban board approach, I successfully constructed an app that continually evolved and improved throughout the development process. As I constructed it, new ideas emerged and were seamlessly integrated to enhance the application's functionality.
After completing the development process, I proceeded to deploy the application on AWS. Additionally, I set up a stage environment to conduct thorough testing of new features before their release to the production environment. To ensure enhanced security measures, the stage environment is shielded by a firewall that grants access only to authorized personnel.
The application is meticulously optimized for optimal performance, incorporating the latest versions and employing request caching techniques to minimize redundant operations. Moreover, I have undertaken multiple refactoring iterations to align with my fundamental software development principles:
K.I.S.S: Keep it simple, stupid
D.R.Y: Don't repeat yourself
Future Updates
I have a lot I would like to add to this app. At the time of writing this, V1.1 is under development which will advertise a businesses events and jobs they are hiring.
Another feature I would like to add as part of V1.2 or 1.3 is geolocation. Simply put, the businesses will be put in order of what is closest to the user. I feel like this will make the app significantly more usable to others as it means a Comoonity doesn't need to be established for a resident to use it.
There are several other features we've discussed adding like following a category, sub categories to narrow down the searches, channels for messaging and asking questions between residents along with other optimisation and security fixes.