How we developed a social network for creating, searching and attending events
Sometimes it’s so difficult to find someone to go to the cinema or exhibition and much more difficult – for morning runs. And don’t even ask about organizing and holding narrow-focused workshops and other events! Well, occasionally you just want to meet new people and friends by interests.
We developed the project representing an event guide and a social network. The app allows users to search, create, and attend a variety of city events. Thanks to it, the user can find a relevant event or organize his or her own within just a few seconds.
This social media application provides all the necessary things: chats – to meet people and communicate, maps – to see where and how to get, notifications – to remember about plans.
The project is a large complex solution that consists of:
- iOS and Android applications – briefly described the features above;
- administrator panel – here the customer can manage the content;
- complex back-end – it manages the user and event data, chats, and a mobile API.
Wonder how we built a social media app within just 3 months? Want to know what results did we achieve? Well, go ahead and read the case study!?
Project type: iOS, Android, Web
Industry: Lifestyle, Entertainment
The project goal: To build a social media app that would enable users to find and attend various events with other people, make new friends, share photos, create chats, and communicate with each other. The customer wanted to receive the solution, that would consist of web, iOS, and Android applications.
Project duration: 3 months, 820 hours (280h – Android app development, 300h – iOS, 240h – server)
Our app development team: an Android developer, iOS developer, 1 backend (PHP Yii2) and 1 frontend (React.js) developers
Backend: PHP Yii2
- iOS: Swift
- Android: Kotlin
Web: PHP 7 (Yii 2), Amazon Web Services
How did the project start
The customer came to us after an unpleasant experience with the other mobile app development company. He had the project requirements created and the product design fully prepared. And we needed to build iOS and Android applications and a server part together with API. The most difficult task was to implement such a complex social network solution in just 3 months.
As we had to discuss and approve each project stage with the client, it was a real challenge. Once we analyzed the goals and requirements and made some smart suggestions, we got down to the software development.
Social network development
To implement the project according to all the requirements within 3 months, we worked hard, sometimes extra hours. Moreover, we faced an unexpected situation – the customer had to urgently show a working solution to investors before launch. So, we began to make even more effort.
The social network app development can be divided into 5 stages with a 2-4 week duration:
- Collecting and analyzing the project requirements – requirements investigation, making small improvements, technical specification preparation, work estimation, and planning.
- Design – the client already had a beautiful mobile app design.
- Software solution development – after discussing and approving the requirements and planning our work, we start iOS and Android apps and server part development.
- QA & Debugging – out QA engineers tested the app and after small fixes again checked everything. As soon as they were convinced that the solution worked great and met all the requirements, the preparation for release began. Learn how does the OZiTAG software testing process look like and how do we achieve perfect system functioning.
- Release – once we got the client’s confirmation that he was totally satisfied with the result, we published mobile applications in the App Store and Google Play.
Now, let’s dive into the details?
We started with gathering and discussing the requirements: in any project, the main thing is to understand the customer’s goals and expected results.
Then all this was written in the technical specification, a document that serves to form a clear project vision, check the product for compliance with the requirements, and simplify communications of the development team (including setting tasks).
When all the necessary information was in front of our eyes, we estimated the work scope and implementation time, made task planning and got down to their completion. Since the design was already created, we immediately started the development of iOS and Android applications, the server part and backend for managing user data.
iOS and Android applications
We wrote an Android application in Kotlin, a programming language which is fully compatible with Java and has a simple and clear syntax. We began using Kotlin since its emergence in 2016. As it turned out to be quite easy to learn Kotlin, and applications are written much faster, and the result is of high quality, we moved from Java to Kotlin. For today, Kotlin is officially recognized by Google as a first-class language for Android app development.
You can find the complete Kotlin review – features, advantages, famous projects, and expert comments of our head of mobile development – in our article.
We chose Swift for writing an iOS application. Currently, this modern language is probably the best solution for iOS development due to the fact that it allows programmers to create high-performance and reliable products.
As the application is social and user communication plays a key role in it, an important task was to integrate chats. We made our chat system on the server and mobile clients on Socket.IO, a special module for implementing chats and exchanging messages (including media content) in real-time.
To create an admin panel, our programmers used the React.js. This technology enables to reuse of the already written code, thereby increasing the software development speed and simplifying the system testing process. What’s more, React perfectly suits for building high-performance solutions.
As previously mentioned, we implemented a complex back-end that manages the data of users, events, chats, and a mobile API. To build it, our developers took PHP Yii 2 as a framework offering everything required for delivering complex and reliable IT solutions.
Since Yii 2 provides complex cashing support, uses standard ways of solving different tasks, and facilitates code support, it perfectly suited our objectives.
Before starting the social network development, we estimated the scope of work and divided it into small parts, called sprints.
To optimize the development process and team communications, we chose Agile Scrum and held everyday meetings so that everyone could clearly see how the project was going and what tasks he/she had to perform.
We built a social media app that includes the following features:
- Group and private chats (users can create chats, participate in them)
- Push notifications
- Image sharing & publishing
- Social media integration
- Event creation
- Content management via an admin panel
After several months of hard work, we launched a complex IT solution – a social network application having a beautiful design and rich functionality. Both iOS and Android applications gained popularity and received rather high ratings in the App Store and Google Play. However, after a while, the customer faced investment-related problems and the project was suspended.
At the moment, the plan is to develop other products based on the created technology. Unfortunately, we can’t provide more details due to a non-disclosure agreement.