Insights Hub: Navigating the Future of Technology with Us
Welcome to our Insights Hub, the go-to resource for industry-leading perspectives on the intersection of technology and business. From transformative IT trends to innovative consulting strategies, our experts are at the forefront, guiding you through the ever-evolving digital landscape.
Join us as we explore groundbreaking developments, dissect complex tech challenges, and provide a clear vision for the future. Dive into thought-provoking analyses, uncover new growth opportunities, and stay ahead of the curve with us.
Your journey into the next frontier of technology starts here.

Live Video Streaming and OTT Platform
Maxx Sports Technologies Limited (dba, Maxx Sports TV) started its journey in Pennsylvania many years ago as an idea for software that created better sports video coaching tools. A group of Canadian investors saw the potential for the application of closed-circuit video technology to ice hockey. Maxx Sports TV signed a contract with the Florida Panthers NHL hockey team in September 2015, and in December 2015, Maxx Sports began streaming Panthers’ recorded game clips. In March 2016, Maxx Sports TV started streaming live content from the Panthers IceDen to sports fans worldwide.
February 02,2021
Patients tracking and engagement solution
[vc_section][vc_row][vc_column width=”1/1″][vc_column_text][my_breadcrumb][/vc_column_text][/vc_column][/vc_row][vc_row][vc_column width=”3/4″][minti_image img=”19626″][/vc_column][vc_column text_align=”right” width=”1/4″][minti_button link=”https://www.indapoint.com/wp-content/uploads/2021/02/DockApp-case-study.pdf” target=”_blank” color=”color-3″ size=”large”]DOWNLOAD[/minti_button][/vc_column][/vc_row][vc_row][vc_column width=”1/1″][vc_column_text] About DocsApp is a technological solution to improve patient engagements and appointments. It helps to improve overall patient satisfaction. It is designed as a cost-saving, simple to use and effective supplement to the standard workflow in any clinic or doctor’s office, independent of the practice or specialty. Replaces ineffective phone-based appointment booking with a very affordable system that does much more than remind people of appointments. Automatically tracks patients and provides valuable data, which helps to improve your process. Helps to reduce waiting time for patients Reduces additional staff requirements by avoiding time spent on hold, tracking down patients at multiple phone numbers, and playing phone tag. Appointment reminders through app notifications, text messages, or email. Can replace your current, often ineffective, phone call reminder system with a smartphone. The main objective of DocsApp is to reduce overhead and replace the patient tracking and communication functions process with more advanced, simple, trackable, and cost-effective tools. DocsApp improves patient satisfaction by leveraging modern mobile technology to provide required information to patients when and where they need it, without tying up staff. It improves patient engagement by providing modern tools for effective and real-time communication with patients.[/vc_column_text][vc_column_text] The Challenge Apart from providing standard app-based appointment booking, calendar, and patient tracking, this project’s primary challenge was to automatically track patient arrival and exit from the clinic. We also wanted to improve patient waiting time by leveraging technology. Visual Design Mobile user experience (UX) design refers to creating positive experiences during mobile devices and wearables, and applications or services run on such devices. 1. Provide Simple Navigation Simple navigation provides an obvious way of moving between screens and finding the desired items as mobile users must go and forth within the same window. 2. Make Large Touch Area Make sure to design control sizes that are easier to tap using the thumb. Providing smaller controls will annoy the user when he uses your app. 3. Reduce Clutter It is not necessary to display every possible information on the interface. Organize your content in a way that provides the user with a clear understanding of the available features. Reduce Clutter and keep minimum content on screen. 4. Display Large Text Keep in mind the smaller size of the mobile screen and make your text larger to read and understand. 5. Use Touch Controls A lot of mobile controls are available to use in design. It is not acceptable to use simple web controls as it is challenging to interact with them on mobile.[/vc_column_text][vc_column_text] Our Solution We worked hard with our team to find a technological breakthrough, and we tried different hardware and software. Finally, we could manage patient tracking effectively with BLE /Bluetooth and an algorithm that we developed after lots of trial and error. [/vc_column_text][minti_image img=”19630″ align=”center”][/vc_column][/vc_row][vc_row][vc_column el_class=”list-1″ width=”1/1″][vc_column_text] The Benefits [/vc_column_text][vc_column_text]The complete appointment booking system DocsApp gives you all the needed tools to make your appointment system simple. We provide Web, mobile phone, and tablet apps for appointment booking. Patient Automated Check-In When a patient arrives at your clinic, DocsApp automatically updates the number of patients waiting to be seen and notifies the newly arrived patient (via mobile phone) with an estimated waiting time. Automated Patient Tracking DocsApp lets you know when a patient has left home for an appointment, when he arrives and when he enters an examination room. These all happen automatically without any user interaction. Appointment Booking Call Center We take care of all your appointment booking system 24X7, and you don’t need any staff to manage this—phone number and mobile app to book appointments for patients. Video and Voice Chat One DocApp option allows patients to book appointments for an online consultation via video and voice chat. Video chat can be done from a browser, smartphone, or tablet. Automated follow-up Set an automatic follow-up for patients with notes about tests required or instructions to follow. Configure the duration of any automated follow-ups.[/vc_column_text][/vc_column][/vc_row][/vc_section]
February 02,2021
Live Video Streaming and OTT Platform
[vc_section][vc_row][vc_column width=”1/1″][vc_column_text][my_breadcrumb][/vc_column_text][/vc_column][/vc_row][vc_row][vc_column width=”3/4″][minti_image img=”19616″][/vc_column][vc_column text_align=”right” width=”1/4″][minti_button link=”https://www.indapoint.com/wp-content/uploads/2021/02/MaxxSports-case-study.pdf” target=”_blank” color=”color-3″ size=”large”]DOWNLOAD[/minti_button][/vc_column][/vc_row][vc_row][vc_column width=”1/1″][vc_column_text] About Maxx Sports Technologies Limited (dba, Maxx Sports TV) started its journey in Pennsylvania many years ago as an idea for software that created better sports video coaching tools. A group of Canadian investors saw the potential for the application of closed-circuit video technology to ice hockey. Maxx Sports TV signed a contract with the Florida Panthers NHL hockey team in September 2015, and in December 2015, Maxx Sports began streaming Panthers’ recorded game clips. In March 2016, Maxx Sports TV started streaming live content from the Panthers IceDen to sports fans worldwide. Maxx Sports TV is in discussions with other professional sports teams and two sports leagues to bring its robotic broadcast system to the broader market. Three new venue launches are expected through May 2017. Maxx Sports TV utilizes the AWS (the same platform as Netflix) Content Distribution Network and Authorize.net (owned by Visa International), a PCI security compliant debit and credit card processor. Maxx Sports TV will by the end of 2017 deliver its content through every major over-the-top video streaming devices, Apps, and computers, including Roku, Chromecast, FireTV, AppleTV, Xbox, PlayStation, iPods, iPhones, Android phones and tablets, Smart Televisions, as well as Windows mobile devices. Maxx Sports TV has already launched in the Apple App Store, the Google Play Store, The Amazon App Store, and FireTV and Roku. Xbox will be launched in June 2017.[/vc_column_text][vc_column_text] The Challenge MaxxSports is a business with unique and patented technology to allow a seamless user experience while viewing live sports events. We were given the challenge to provide almost similar features and user experience across apps like Apple TV, iPhone, Android, Android TV, Xbox and Roku. We were also asked to develop proprietary streaming technology to stream live games across the thousands of users online on different platforms. Visual Design Mobile user experience (UX) design refers to creating positive experiences during mobile devices and wearables, and applications or services run on such devices. 1. Provide Simple Navigation Simple navigation provides an obvious way of moving between screens and finding the desired items as mobile users must go and forth within the same window. 2. Make Large Touch Area Make sure to design control sizes that are easier to tap using the thumb. Providing smaller controls will annoy the user when he uses your app. 3. Reduce Clutter It is not necessary to display every possible information on the interface. Organize your content in a way that provides the user with a clear understanding of the available features. Reduce Clutter and keep minimum content on screen. 4. Display Large Text Keep in mind the smaller size of the mobile screen and make your text larger to read and understand. 5. Use Touch Controls A lot of mobile controls are available to use in design. It is not acceptable to use simple web controls as it is challenging to interact with them on mobile.[/vc_column_text][vc_column_text] Our Solution We worked hard with our team to find a technological solution that can provide a consistent user experience across all the platform and smooth live video streaming. We used a variety of technologies and different public cloud service providers to achieve the desired results. We are using Google and AWS to achieve streaming in HLS format and full-stack development using React and Larvel to develop web and mobile apps. We also developed native mobile apps for iOS and Android and TV apps for Platforms like FireTV and Apple TV.[/vc_column_text][minti_image img=”19620″ align=”center”][/vc_column][/vc_row][vc_row][vc_column el_class=”list-1″ width=”1/1″][vc_column_text] The Benefits [/vc_column_text][vc_column_text]Live Game Streaming Multiple Live games streaming across the different platforms at the same time Interactive live streaming This allows the viewer to view the live game as per the preference by selecting the desired camera. DVR Users can record live streaming and also can share the 10-second clip with a friend. Make your own game With these features, users can select multiple cameras and can produce their own live game from different cameras available in various locations.[/vc_column_text][/vc_column][/vc_row][/vc_section]
February 02,2021

Online Food Delivery Solution
Food Delivery Customer is a family-run, local Meal Kit Delivery company based in Melbourne. Running since 2015, they pride themselves on working with Australian producers and delivering food quickly from farm to table. Founded by Simon Kahil, this Melbourne based Meal Kit service is founded on the belief that fresh produce is one of the most important things for a great meal.
January 26,2021
Web and Mobile solution for Non-profit organizations
[vc_section][vc_row][vc_column width=”1/1″][vc_column_text][my_breadcrumb][/vc_column_text][/vc_column][/vc_row][vc_row][vc_column width=”3/4″][minti_image img=”16645″][/vc_column][vc_column text_align=”right” width=”1/4″][minti_button link=”https://www.indapoint.com/wp-content/uploads/2020/08/opengatesangha.pdf” target=”_blank” color=”color-3″ size=”large”]DOWNLOAD[/minti_button][/vc_column][/vc_row][vc_row][vc_column width=”1/1″][vc_column_text] Executive Summary Open Gate Sangha, Inc. is a spiritual nonprofit, tax–exempt organization. Founded in 1996 in the San Francisco Bay area, Open Gate Sangha today reaches people around the world who are naturally drawn to the sincerity and depth of Adyashanti and Mukti’s message. Open Gate Sangha’s staff and many dedicated volunteers work together to bring these teachings forward through In-Person and Online-Programs, Publications, Broadcasts, and Media. While serving a community of over 30,000 worldwide users, Open Gate Sangha and its companion websites provide teachings and product sales in the form of text, pdf audio and video files. The organization provides extensive free and purchased audio and video streaming services in both ‘Live’ and archived formats while managing high-concurrency visitation. Open Gate Sangha’s site architecture includes managing user profiles, event registration, donations, scholarships, content management and provisioning, accounting, reporting and other community related services.[/vc_column_text][vc_column_text] The Challenge Open Gate Sangha’s infrastructure was hosted early on through various shared and dedicated servers located Lunar Pages (now Host Papa) in Los Angeles, CA. This infrastructure was initially operating reasonably well until membership started increasing, both domestically and internationally while serving many new users worldwide. Naturally, as the organization grew, additional resources were needed answer this new demand as visitation began to overburden available servers. They went from moderate loading to serving visitation the high thousands, especially during online programs where thousands of members would join concurrently from across the globe. It became very difficult to predict and provision the required infrastructure to serve such a content rich experience globally while mitigating such heavy traffic and spikes This activity provided a great opportunity to modernize the client’s infrastructure stack, abstract critical services for regional distribution, adopt an elastic and tunable cloud services model with load balancing and move up to the Amazon Web Services (AWS) Cloud platform. The new AWS Cloud infrastructure would offer highly available and underlying services as improved security and compliance model. Open Gate Sangha would be able to scale according to current load conditions while utilizing continuous integration and continuous delivery (CI/CD) automation for deployments. The new infrastructure would additionally provide separate environments for deployments, QA, staging, and production.[/vc_column_text][vc_column_text] Our Solution The IndaPoint team started working with Open Gate Sangha to analyze and identify critical areas and bottlenecks requiring improvement. With our experience and knowledge of their systems and operations with over 15 years of IT/development management we were well versed of their business requirements and software dependencies. We then began designing a new AWS Cloud-based architecture which would offer high availability removing any single points of failure. The new architecture was planned in two phases. The first phase began by taking care of scaling, performance and security while in second phase we implemented the structure for CI and CD. The current architecture employs standard load-balanced design and features auto-scaled groups of application instances spread across multiple Availability Zones.[/vc_column_text][minti_image img=”16670″ align=”center”][vc_column_text]At the database tier, we leveraged the Amazon Relational Database Service (RDS) and AWS ElastiCache in multi-AZ configurations. RDS allows database encryption using keys managed through the AWS Key Management Service (KMS). Utilizing AWS ElastiCache, we integrated the service to allow easy deployment, operation, and scaling an in-memory data store or cache in the cloud. As demand increases or decreases based on pre-set determinate levels, the system auto-adjusts for balanced front-end availability. We also employed AWS S3 is used to store all user data, images and other content heavy resources. Its multi-node architecture caches assets regionally reducing latency to the end-user. We also use AWS S3 as a ready-to-deploy code snapshot for ‘at-once’ provisioning of mirrored codes across all front-end web servers. AWS CloudWatch services are utilized to monitor performance and failures notifications allowing early action and mitigation. To ensure high availability, ElastiCache was used to launch Memcached, the distributed memory object caching system, in at least two Availability Zones per region. The Amazon Virtual Private Cloud (VPC) is a virtual network dedicated to the AWS account, and was also deployed. This provides logic isolation from other virtual networks in the AWS Cloud as another layer of security All internet-facing web applications run behind the AWS Elastic Load Balancer. In the new infrastructure, AWS ELB is configured to route all site traffic, including dynamic pages across an array of frontline webservers. Open Gate Sangha’s web applications are additionally protected by CloudFlare (https://www.cloudflare.com/l) WAF (proxy security and DDOS protection service) which provides control over which traffic to allowed or blocked by defining customizable web security rules. For CI/CD, we have we have also utilized AWS CodePipeLine and AWS CodeDeploy to deploy and configure applications on Amazon Elastic Compute Cloud (EC2) instances. AWS EC2 is a web service that provides secure, resizable web-scale cloud computing. CodeDeploy is tightly integrated with AWS Auto Scaling to eliminate delays between starting new nodes and deploying applications. While working in concert with the Open Gate Sangha team, all client applications in the new AWS environment were tested and adjusted as necessary, while managing any additional requirements. Finally, full comprehensive documentation was created, covering all aspects of each environment’s automation, provisioning, and handling.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column el_class=”list-1″ width=”1/1″][vc_column_text] The Benefits After successful migration to the new AWS environment, Open Gate Sangha has realized many benefits. [/vc_column_text][minti_unordered_list show_separator=”no”] The infrastructure is now distributed across multiple Availability Zones; single points of failure no longer exist. They are seeing zero failures during their online events/retreats where thousands of members join concurrently from various countries and they stream online video. The system expands and contracts based upon demand so the customer is not paying for continued expensive high-scale servers only needed during peak loading. This has allowed the company to stay away for capital expense and pay a variable expense. Content rich assets are cached and delivered regionally significant reducing latency for their end user. Server-side memory caching is utilized significant reducing latency for their end user. Improved security with multi-layered AWS abstracted credentials, and DDOS protection. Improved monitoring, with deep insight into the infrastructure’s health and current loading allowing early response to any issues. Increase speed and agility in deploying, decommissioning additional services [/minti_unordered_list][vc_column_text]The company no longer is paying a flat rate for pre-provisioned contracted hardware, but now only pays for what it currently uses, within a modern virtual cloud environment saving on continued infrastructure management.[/vc_column_text][/vc_column][/vc_row][/vc_section]
January 26,2021
Online Food Delivery Solution
[vc_section][vc_row][vc_column width=”1/1″][vc_column_text][my_breadcrumb][/vc_column_text][/vc_column][/vc_row][vc_row][vc_column width=”3/4″][minti_image img=”17423″][/vc_column][vc_column text_align=”right” width=”1/4″][minti_button link=”https://www.indapoint.com/wp-content/uploads/2021/01/Food-Delivery-Customer.pdf” target=”_blank” color=”color-3″ size=”large”]DOWNLOAD[/minti_button][/vc_column][/vc_row][vc_row][vc_column width=”1/1″][vc_column_text] Executive Summary Food Delivery Customer is a family-run, local Meal Kit Delivery company based in Melbourne. Running since 2015, they pride themselves on working with Australian producers and delivering food quickly from farm to table. Founded by Simon Kahil, this Melbourne based Meal Kit service is founded on the belief that fresh produce is one of the most important things for a great meal. When you order from Food Delivery Customer, you really do feel like it’s arriving from a family farm with the whole experience being just a little bit rough around the edges. Food Delivery Customer have a really simple website, where you can learn more about their suppliers and the Meal Kit service they provide. Unique to Food Delivery Customer, you are able to order 1 person Meal Kits as well as the standard 2 and 4 person options.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column el_class=”list-2″ width=”1/1″][vc_column_text] The Challenge This is was the ‘Challenge accepted’ project for us. They have a legacy PHP (Symfony) project and they wanted to implement CI & CD on AWS. The major challenges were[/vc_column_text][minti_unordered_list show_separator=”no”] It was a legacy PHP project It Couldn’t be updated to the latest version of PHP We cannot update the Symfony Framework version to the latest [/minti_unordered_list][/vc_column][/vc_row][vc_row][vc_column el_class=”list-1″ width=”1/1″][vc_column_text] Our Solution We started our working with a couple of options and based on our experience and also due to a request from a client, we first tried with Bitbucket as a version control tool, BuildKite as a build tool and AWS S3 to store .zip bundle created by BuildKite. However, to increase efficiency and keep all tools under the same umbrella, we went to our best friend AWS and we could successfully achieve our desired goals.[/vc_column_text][minti_image img=”19299″ align=”center”][vc_column_text]Continuous Integration is becoming a de-facto standard in today’s software industry. Many organizations have used CI/CD successfully to continuously integrate code from various developers and deploy it on dev/integration/production environments. There are several benefits to this approach, like, We used a few AWS services to achieve this[/vc_column_text][minti_unordered_list show_separator=”no”] CodeCommit – Repository for codebase. (Version Control) CodePipeline – To automate pipeline. (Build) CodeBuild – To install all dependencies and generate a .zip bundle that is ready for deployment. (Integration and Unit Test) Elastic Beanstalk – To deploy the application on Dev/UAT server. (Deploy) Amazon Elastic Container Registry (Storage for Docker image) AWS Systems Manager Parameter Store (Storage for Configuration Data) [/minti_unordered_list][/vc_column][/vc_row][vc_row][vc_column el_class=”list-1″ width=”1/1″][vc_column_text] The Benefits Now that the entire development cycle is automated on the AWS environment, they have benefited from a highly available service and very fast deployments. The major benefits that we have achieved are[/vc_column_text][minti_unordered_list show_separator=”no”] Happy customers and development team. Fast and quick update release. The huge cost and time saving on the development cycle. Developers can quickly find out integration errors and feedback about their work. They save time they would otherwise spend on manual integration and uploads. Dev/UAT environment is always up to date for developers, QA, and reviewers. [/minti_unordered_list][/vc_column][/vc_row][/vc_section]
January 26,2021
App Development for Healthcare and fitness
[vc_section][vc_row][vc_column width=”1/1″][vc_column_text][my_breadcrumb][/vc_column_text][/vc_column][/vc_row][vc_row][vc_column width=”3/4″][minti_image img=”16498″][/vc_column][vc_column text_align=”right” width=”1/4″][minti_button link=”https://www.indapoint.com/wp-content/uploads/2020/08/ewell.pdf” target=”_blank” color=”color-3″ size=”large”]DOWNLOAD[/minti_button][/vc_column][/vc_row][vc_row][vc_column width=”1/1″][vc_column_text] Who We Are? eWell is not an ordinary health solution company. We are one the leading companies that you shouldn’t miss to ignore. Our company is located in Sweden and is currently filled with professional teams and advanced technologies to meet your needs. eWell′s main goal is to become a leader in health data storage and analysis solution. eWell offered solution provides benefits to both health practitioners and patients. With our integrated solution, they can communicate with each other through smartphones by text chat or video. Depending on your choice, you can also discuss your training, health, test results, nutrition and medications with a health specialist from home. In addition, treatment counseling can also be done remotely. As a user, you also have a chance to get support to optimize your training through personal training online.[/vc_column_text][vc_column_text] How We Helped eWell? Our company offers solutions with the use of IoT or Internet of Things technology where distinct health monitoring tools communicate with center database to offer simple and reliable health monitoring. The common examples of these IoT devices include blood pressure monitor, weighing scale, hearth rate monitor and other related equipment. Furthermore, the mobile app development and solution allows every health expert to offer online counseling services to their patients with the use of smartphone. This exceptional app development needs to reach a cross-platform target audience of mobile users spread all over the renowned mobile platforms like iOS, web and Android.[/vc_column_text][vc_column_text] Our Solution Upon contacting us and we already reviewed the technology and requirements needed, our teams will use LAMP or Linus, Apache, MYSOL, PHP as a server technology. We do this to improve web application and API needed to communicate with phone applications. The health data exchange between devices is performed with the use of the industry standard APIs such as FitBit and RunKeeper. The solution also involved in integrating live face-to-face from smartphones and web. Our company also uses innovative OpenTok services to offer high end video features. As a result, it has a full-featured, intuitive and fast mobile and web app that increases our client′s time-to-market and target audience coverage. It also empowers countless potential buyer across the most well-known mobile platforms. After understanding mobile healthcare and how we work, you will surely want to witness how effective we are. Thus, you will be tempted to contact our authorized personnel. If you already knew how provide your needs, you surely understand why most people keep on depending on us over and over again. What more can you ask for? Get your phone and start contacting our teams now! You are also free to visit our official website to know various things about our offered services. For inquiries, you can also send your questions directly to our website. Are you looking for the best health solution company? Then, worry no more! Unlike others, you don’t have to spend more time and effort in finding the right one. Our company is here to provide everything you need.[/vc_column_text][/vc_column][/vc_row][/vc_section]
January 26,2021
Be Amazed Magic Television
[vc_section][vc_row][vc_column width=”1/1″][vc_column_text][my_breadcrumb][/vc_column_text][/vc_column][/vc_row][vc_row][vc_column width=”3/4″][minti_image img=”16499″][/vc_column][vc_column text_align=”right” width=”1/4″][minti_button link=”https://www.indapoint.com/wp-content/uploads/2020/08/be-amaze-television.pdf” target=”_blank” color=”color-3″ size=”large”]DOWNLOAD[/minti_button][/vc_column][/vc_row][vc_row][vc_column width=”1/1″][vc_column_text]For the best and highest quality of HD videos, Be Amazed Magic Television is the perfect choice that you′ve got to deliver you with exceptional content![/vc_column_text][/vc_column][/vc_row][vc_row][vc_column width=”1/1″][vc_column_text] The Company Be Amazed Magic Television is the innovative and breakthrough idea of one of the leading female magicians and one of the leading magician technicians of the world. It was back in 2007 when the plan to come up with Be Amazed Magic Television was initially conceived by Ariann Black with the assistance of Pamela and Johnny Thompson. It was not only the early part of 2013 when the plan has been finally implemented in order to turn the magic television network into a reality. Be Amazed Magic Television is hosting its library of videos using Amazon Web Service (AWS) using the distributed server platform or the AWS Cloud. This then allows the streaming of the finest quality of ultra high and high definition video content combined with the fastest times of delivery for all viewers in the United States and other parts of the world who subscribe to magic film and television content.[/vc_column_text][vc_column_text] An Amazing Breakthrough in the World of Magic and Technology Be Amazed Television is a revolutionary discovery with its exceptional market proposition of carrying an expansive library containing only the best and highest quality of magic videos. The best thing about Be Amazed is the fact that it can be easily connected to televisions, Blu-ray players, set top boxes, mobile phones, gaming consoles and so much more. With the use of Be Amazed, you can now easily experience an improved and more seamless viewing in all types of devices. However, the biggest challenge is to ensure the seamless and consistent user experience across various devices during the streaming of the high quality videos.[/vc_column_text][vc_column_text] The Solution This challenge has been in accepted by IndaPoint for the high end video streaming project. Following the extensive exploration and study of different designs and architecture, we have finally decided to go for Cloud architecture and design and programming for AWS. AWS offers all the needed features required for designing highly available, reliable and scalable solution. On the development level, we chose to use LAMP or Linux, Apache, MYSQL and PHP platform and combining this with our very own PHP based framework. We stayed away from the use of the traditional PHP framework such as Zend, Codelgniter and others in order to have more control, flexibility and security. The product is a full featured, intuitive and fast solution for delivery of videos across different devices such as PlayStation®4, Xbox One, Roku® Streaming Player, Google Chromecast, Amazon Fire TV, Apple TV, Apple iPad ™/ iPad mini ™, Apple iPhone®, Android Phones & Tablets, Apple iPod touch®, Amazon Kindle Fire, Windows 8, Nintendo 3DS ™, Windows Phone 8, Xbox 360®, Nook ™, PS Vita®, Samsung®TVs/Blu-rays, Wii U ™, Wii ™, Philips TVs, Sony® TVs/Blu-rays, VIZIO®TVs/Blu-rays, and many others. The technologies that we use include MYSQL, PHP, jQuery & jQuery Mobile, HTML5, Android SDK, and iOS SDK.[/vc_column_text][/vc_column][/vc_row][/vc_section]
January 26,2021

Continuous Integration and Deployment (CI/CD) for PHP Symfony application with AWS
Continuous Integration is becoming a de-facto standard in today’s software industry. Many organizations have used CI/CD successfully to continuously integrate code from various developers and deploy it on dev/integration/production environments.
March 16,2020
Continuous Integration and Deployment (CI/CD) for PHP Symfony application with AWS
Continuous Integration is becoming a de-facto standard in today’s software industry. Many organizations have successfully used CI/CD to continuously integrate code from various developers and deploy it on dev/integration/production environments. There are several benefits to this approach, like, Developers can quickly find out integration errors and feedback about their work. They save time they would otherwise spend on manual integration and uploads. Dev/UAT environment is always up to date for developers, QA, and reviewers. PHP applications are slightly different when it comes to CI/CD as it does not need a compilation of code before deployment. Last month, we got a challenge from one of our customers to implement Continuous Integration (CI) and Continuous Deployment process for one of their legacy PHP Symfony projects. We had the following challenges in front of us to solve. It was a legacy PHP project. It couldn’t be updated to the latest version of PHP. We cannot update the Symfony version to the latest. We started our brainstorming with a couple of options we had in our mind, and based on our experience and request from a client, we first tried Bitbucket as a version control tool, BuildKite as a build tool AWS S3 to store .zip bundle created by BuildKite. However, to increase efficiency and keep all tools under the same umbrella, we went to our best friend AWS and successfully achieved our desired goals. We used a few AWS services to achieve this. CodeCommit – Repository for the codebase. (Version Control) CodePipeline – To automate pipeline. (Build) CodBuild – To install all dependencies and generate a .zip bundle that is ready for deployment. (Integration and Unit Test) Elastic Beanstalk – To deploy the application on Dev/UAT server. (Deploy) Amazon Elastic Container Registry (Storage for Docker image) AWS Systems Manager Parameter Store (Storage for Configuration Data) CodeCommit We will not go into details of how to set up a repository in CodeCommit. This should be reasonably simple. CodePipeline also supports other Git-based services like GitHub and BitBucket. So you can use any of these version control tools. CodePipeline Our CodePipeline has three stages – Source, Build, and Deploy. Step 1 – Source Create a new CodePipeline, and in the first step, it will ask for name and service role. You can create a new service role or use an existing one. In the next step, you can select your source provider. Select AWS CodeCommit here. You will now see your repository and select the one you would like to use. Then you can see your branches. Select the department you would like to connect with the pipeline. Whenever code is pushed to the selected branch, it will trigger this pipeline. Step 2 – Build In the build stage, we will install all dependencies for a Symfony project. It will give us a .zip bundle almost ready to be deployed. The purpose of the build stage is to reduce deployment time on Dev/UAT server. During the build, step enters the name, select CodeBuild as build provider, select region, and Input Artifact. Input Artifact is produced by the Source step and provided as input to the build stage. Click on Create Project button to create a new CodeBuild project. You can see steps to develop the project below in the CodeBuild section. You can enter the Output Artifact name, which will be used as input for the next step. CodeBuild is a managed service, so an instance will start, get the source code, build it according to commands we write in buildspec.yml (details below), create a .zip file of source, and copy it to S3. For those who have not used AWS managed service before, this instance will not be visible in the EC2 console. It will start, do its job and terminate. You can’t see or connect to it like a regular EC2 instance. Step 3 – Deploy When you are done with the build step, the third and last stage is Deploy. Select Elastic Beanstalk as the provider and select your region. Select the input artifact, which is essentially the output artifact from the build step. Then you will be asked to select the Beanstalk application name and environment. Please find detail below on how to create them. Now we will look into details of how to set up the CodeBuild project and Beanstalk environment. CodBuild Creating a CodeBuild new project You can create a new project during pipeline creation or create it ahead of time and select it in the pipeline. Below you will find details about each step of the project. Project configuration – You can enter a project name in this section. Environment – We are going to use a Docker image we have pushed to Amazon ECR. Please refer to the screenshot below. You can also use your own Docker image preconfigured with the software you will need in the build phase or use managed images provided by CodeBuild. Build spec – Choose the “Use a build spec file” option as we are going to use a buildspec.yml file specifying build commands. Logs – Choose “CloudWatch logs” as it will help debug when the build step fails. Buildspec.yml This is the file we need to create at the root of our project folder. We will write build commands in this file. Below is our buildspec.yml file. The Env section has some variables which are needed during the build. They have been stored in the AWS parameter store, and we are referring to them here. As our application has an old version of Symfony, we need to prefix variable names with “SYMFONY__”. For newer versions, they should be written as “%env(DATABASE__HOST)%.” You can find more details about connecting to a database here. Under phases, we have build and post_build commands. Under the build section, we are installing npm and composer dependencies. We are also compiling CSS using “ npm run dev.” Under the post_build section, we are removing some folders needed in the deployment bundle, deleting Symfony cache, giving permissions to cache and logs folder, and then running some unit tests. Replace “<Project Name>” with your actual project name. We are giving a pattern that will generate a .zip bundle by recursively going through the project directory under the artifacts sections. It’s important to note that if CodeBuild is under VPC, it will not have internet access. CodeBuild server is launched with private IP only, so it can’t access the internet. If there are commands that download some stuff from the Internet, it should not be launched in VPC. If it must be launched in VPC, a NAT gateway will be needed to allow it internet access. Once the build stage is completed successfully, a .zip file of the source will be generated and copied to an S3 bucket. Elastic Beanstalk Elastic Beanstalk will take the .zip file from S3 and deploy it on an EC2 server. We will also run a few commands which are necessary to run a Symfony application. However, we try to keep it to the minimum to reduce deployment time. We created the Beanstalk environment by following this AWS guide. Creating an environment AWS provides a pre-configured link to create a load-balanced environment. Use this link to quickly get started. Once the environment has been created, Configuration > Software is the most important area. Here you can specify “Document Root.” For Symfony applications, it needs to be /web. You can also pass environment variables like database connection parameters and others from here. Beanstalk will make sure they are available as Symfony environment variables. Apart from Software, there are other configurations available which you can review and adjust as necessary. There is a section for the Database also. You can specify details for RDS here, and Beanstalk will create that RDS. But, it’s recommended to use external RDS in dev or production sites. This is because when the Beanstalk environment is deleted or re-deployed for some reason, RDS may also be deleted. This is not desired in most dev/production environments. .ebextensions We need to create a folder “.ebextensions” at the root of our project directory. Beanstalk reads files in this folder and executes commands from those files. We created a set of files here to perform different deployment tasks. Beanstalk first deploys the application in a staging folder called “on deck”. So all commands we write in .ebextensions files are executed in that folder by default. If the deployment is successful, the ondeck folder’s contents are copied to the “current” folder, which is where the application runs. We have to run “after” the application is deployed in the “current” folder. For that, we are creating a file under “/opt/elasticbeanstalk/hooks/app deploy/post/” directory. This is the folder created and used by Beanstalk for its internal post-deployment commands. When we make a file here, it will be executed by Beanstalk along with its powers. “source /opt/elasticbeanstalk/support/envvars” is used to make environment variables available to commands following it. Then we are running commands to clear cache, change folder permissions, and installing assets. In our case, during composer install, it was creating a folder “bundles” in /web directory. It has symlinks to other files. These symlinks are not transferred with artifacts generated by CodeBuild. So we had to add the following command to the post-deployment script to regenerate those symlinks in the “current” folder. Here we have added 2 types of commands. First, we run database migrations. As you might have noticed this command is run under the staging directory “/var/app/ondeck”. Then we run unit tests. “ignore-errors: false” instructs Beanstalk to exit with “Fail” status if unit tests fail. This means, the deployment will be aborted, and the new version of your application will not be deployed if unit tests fail. If unit tests need a database, make sure you have “parameters_test.yml” modified to get the correct database parameters. Mapping the Beanstalk environment with a domain Create CNAME in the domain control panel, which points to the Beanstalk environment domain. If the domain is secure, add 443 listeners in load balancer settings in the Beanstalk environment. We hope you enjoyed reading this blog, and it will help your CI/CD project. If you want to automate your development and deployment process through Amazon Web Services and PHP Symfony Services, please contact us.
March 16,2020

DDoS Attack and Web Application Firewall
Distributed Denial of Service (DDoS) attack is type of DoS (Denial of Service) attack. Multiple systems flood a network or server with fake requests to disrupt normal operation of targeted website. Generally, DDoS attack online originates from several compromised computers.
February 08,2019
DDoS Attack and Web Application Firewall
What is DDoS Attack and Web Application Firewall? Distributed Denial of Service (DDoS) attack is a type of DoS (Denial of Service) attack. Multiple systems flood a network or server with fake requests to disrupt the targeted website’s normal operation. Generally, DDoS attack online originates from several compromised computers. As fake requests are coming from different IP Addresses, you need an effective DDoS attack prevention tool to keep your business online. We have used a Web Application Firewall (WAF) to protect several websites of our clients. The most popular web application firewalls are Incapsula and Cloudflare. These services sanitize traffic to a website by blocking DDoS requests. Legitimate requests are forwarded to your website. This way, your website stays online to serve your users. Recently we came across a need to decide on which cloud-based WAF (Web Application Firewall) to use for one of our clients. We needed DDoS protection at the network and application layer. We considered both Incapsula and Cloudflare. We are going to talk about the configuration of both services here. We have used both services and also switched from one to the other. The understanding configuration is vital before we start using any of these services. Incapsula DNS Changes Incapsula provides a couple of static IP addresses where you can point to your domain’s A records. This means you don’t need to change the NS records of your environment. Traffic will go to your hosting provider and then it will be routed to Incapsula. Incapsula will check and sanitize traffic as required and then send it back to your server. You need to provide the IP of your server as “Origin Server” in Incapsula. In my case we were using a load balancer (AWS ELB), so we entered the DNS of the load balancer as the origin server. If you are looking at protecting your HTTP traffic, you don’t need to change your domain’s other DNS entries. This way starting with Incapsula is very easy. Reverse Proxy By default, return traffic from the website to the client browser is sent directly. You can request Incapsula to work as Reverse Proxy also. So that return traffic is also routed via Incapsula. Reverse Proxy hides your server IP from the public and attacker. We have recently seen that sometimes attackers target your website using the origin IP addresses of your server or load balancer to bypass WAF. The reverse proxy is a good option to prevent this type of attack. They are turning off Incapsula temporarily. You can go to the Websites page in Incapsula and select the “Disable” option from the More menu. If you are using Incapsula provided SSL Certificate, you must have an SSL Certificate installed on your server. Otherwise, your customers will start seeing SSL Certificate errors in their browsers. RTE Editors Relatively small issue, but if you have RTE editors on your website’s administration panel, Incapsula can block post requests as they contain HTML tags. You can whitelist your IP address in Incapsula to prevent this. If you are on dynamic IP, this can be a bit annoying. Cloudflare DNS Changes We needed to change NS entries of the domain to route traffic via Cloudflare. We changed them from the domain hosting provider. We also needed to transfer ALL our DNS entries like A records, MX entry, and other CNAME or TEXT entries we had for domain validation, SMTP, VoIP, and VPN services. The good thing is when we added a domain to Cloudflare, it automatically detected and added most of the DNS entries automatically. We had to enter the remaining few entries manually. As we can’t have ELB DNS as A record, we added CNAME records for the root domain and “www” subdomain pointing to ELB DNS. Reverse Proxy Cloudflare by default acts as a reverse proxy to a domain. So response form from the webserver goes to Cloudflare first, and then it is passed back to client browsers. This way, your server IPs are not exposed to the public or attackers. They are turning off Cloudflare temporarily. We had a live streaming event on the website, so we wanted to check if we can bypass Cloudflare if required. We didn’t want a lot of our customers to see captcha challenges. The two possible options found. Security level – By default security level is set at “Medium.” we have the option of reducing it to “Essentially Off”. Pausing Cloudflare – There is an option to pause Cloudflare to send traffic directly to web servers. It takes few minutes before traffic starts going now to your servers. It turns off all Cloudflare services including SSL. If you are using Cloudflare provided SSL Certificate, you must have an SSL Certificate installed on your server. Otherwise, your customers will start seeing SSL Certificate errors in their browsers. RTE Editors Cloudflare sends a Captcha challenge when you submit a form containing an RTE editor (HTML tags). Once you pass the captcha, your form will be submitted successfully.
February 08,2019