We aggregate and tag open source projects. We have collections of more than one million projects. Check out the projects section.
Glific is an open source two way communication platform with primary focus on helping social sector organizations to interact with millions of beneficiaries concurrently through automated messages with rich media content and manual intervention wherever required. With Glific one can design flows to automate conversations, see how each of the beneficiaries is interacting with the bot and measure engagement.
Donald Lobo, (who is having a great experience in the open source and social sector) is the founder of Glific and we are a 10 people team across the globe working on this product .We have been building this product for more than a year now and recently released v2.0 in July 2021.
So far Glific has empowered 24 NGOs in interacting with a total of 60K+ beneficiaries and exchanging over two million messages. Some of the vivid areas where Glific helped organizations through automated conversation are Hospital bed availability queries in Covid, connecting with thousands of students on a regular basis to build their interest in Art, Maths and other activities, and career counseling for the students. There are more interesting use cases which we keep sharing on our social media accounts.
How things are working behind the scenes
Glific has split tech architecture The core of the Glific is in the Phoenix framework which is built on Elixir. There is a frontend part also which we built in React JS, but we tried to architect the core in such a way that you can connect this with any frontend project.
We are using GraphQL to structure of APIs which is helping us to provide a more powerful and flexible API driven platform. Apart from the CURD operations the GraphQL layer is also helping to structure the subscriptions on various channels with ease.
For the WhatApp business API we are utilizing Gupshup.io for now and the system is architected in a way that we can easily plug and play more BSP like Twilio or WATI. Having said that, we are really happy with Gupshup and their prompt response to all our queries.
For the analytics and data backup purpose we have integrations with Bigquery, DataStudio and Google Cloud Storage. Organizations can create these services accounts on their G-Suite and connect them with their Glific instance.
Apart from that we are using other open source projects like Oban and Flow Editor which makes glific more solid and useful.
On the databases side, Glfiic is a multi-tenant (`Table-based multi-tenancy`) platform and we are using Postgresql.
The Deployment process in Glific is a journey itself but at the end we reached Gigalixir for our deployment, which really helps us significantly from an operational perspective, i.e. we don’t really think about it too much!
Why Elixir and React
When we started the project we knew that the core functionality of this project would be sending or receiving a lot of message requests with very little computation logic. So we were looking for a language which is lightweight and has a really good support for parallel processing.
Also Elixir compiles on a Erlang vm, which is quite old language and has been used via a lot of telecom companies and chat applications like WhatsApp, Facebook (Chat backend) , Amazon(SimpleDB) .
At the last we also wanted to explore and play with a new age technology.
All the above points perfectly fit in the Elixir bucket. This is a good article if you want to know more about Elixir.
React JS is backed by Facebook and it’s really helpful in rapid prototyping. Also it allows us to think about in the terms of components and state which makes the project scalable. React also has a strong community and some solid libraries like Apolo cache to make the GraphQL api calls which are supported by the Glific backend.
Smooth Development Experience
To grow an open source project you surely need the contribution from the community that’s why the contribution and development experience should be smooth for the member who is joining the Glific community. So we always give priority to test coverage and the documentation. We also try to make things automated as much as possible. The setup takes just a few commands. The test coverage is 90% and we keep improving that which helps invite more people to work with us without losing out on quality.
We added some code quality and specs monitoring tools in our CI process.
All the other resources links are also present on Glific README
Conclusion
This product development journey has been great so far. We are really happy to see the organizations using this platform are making some impact on society.
On the tech side our immediate future plan is to ship a mobile app for our organizations so that they can use it on their phone and communicate with their beneficiary.
We are also looking for a good and bit generic ML/NLP use case so that we can add it to the product.
In case you want to connect with us or reach out to us, ping us on our discord channel.
Subscribe to our newsletter.
We will send mail once in a week about latest updates on open source tools and technologies. subscribe our newsletterLight 4j is fast, lightweight, secure and cloud native microservices platform written in Java 8. It is based on pure HTTP server without Java EE platform. It is hosted by server UnderTow. Light-4j and related frameworks are released under the Apache 2.0 license.
Electron is an open source library to build native applications which also works as cross-platform desktop applications. It provision operating system functionalities with help of node integration. In this article, we will go through how to access the Operating System variables, Inter system communication, System dialog, Access files, folders also their statistics.
Web Real-Time Communication (WebRTC) is an open source project currently being developed with an aim to provide real time, peer-to-peer communication between web applications. WebRTC provides simple JavaScript APIs that help developers to easily build web applications with real time audio, video and data transfer capabilities. This blog has been written assuming that the reader has zero knowledge of how WebRTC works and hence have explained the entire working in detail using simple terms and analogies wherever possible. Let’s get started!
As the social media trend continues to alter the face and infrastructure of the business world as we once knew it, the need to keep up with the demand for content management is at an all-time high. Companies are putting more and more energy and resources into this area in the form of Social Media Managers and Media Communications Representatives. This can get expensive and overwhelming, so finding resources that can help alleviate some of those responsibilities is in the best interest of individuals and companies alike.
Notifications is a message pushed to user's device passively. Browser supports notifications and push API that allows to send message asynchronously to the user. Messages are sent with the help of service workers, it runs as background tasks to receive and relay the messages to the desktop if the application is not opened. It uses web push protocol to register the server and send message to the application. Once user opt-in for the updates, it is effective way of re-engaging users with customized content.
Exonum is an extensible open source blockchain framework for building private blockchains which offers outstanding performance, data security, as well as fault tolerance. The framework does not include any business logic, instead, you can develop and add the services that meet your specific needs. Exonum can be used to build various solutions from a document registry to a DevOps facilitation system.
Apache Cassandra was designed by Facebook and was open-sourced in July 2008. It is regarded as perfect choice when the users demand scalability and high availability without any impact towards performance. Apache Cassandra is highly scalable, high-performance distributed database designed to handle large voluminous amounts of data across many commodity servers with no failure.
UnQLite is an embedded NoSQL database engine. It's a standard Key/Value store similar to the more popular Berkeley DB and a document-store database similar to MongoDB with a built-in scripting language called Jx9 that looks like Javascript. Unlike most other NoSQL databases, UnQLite does not have a separate server process. UnQLite reads and writes directly to ordinary disk files. A complete database with multiple collections is contained in a single disk file. The database file format is cross-platform, you can freely copy a database between 32-bit and 64-bit systems or between big-endian and little-endian architectures.
The newly introduced concept of dependency injection in Angular version 2.0 makes it an attractive front-end technology all because of one amazing feature called 'Multi-Providers'. In general, it allows the users to attach certain operations by themselves and a few plugin custom functionality which is not required in our mobile app use case.
MongoDB is the most exciting SQL-free database currently available in the market. The new kid on the block, called MongoDB is a scalable, high-performance, open source, schema free and document oriented database that focuses on the ideas of NoSQL Approach. Written in C++, it has taken rapid strides since its emergence into the public sphere as a popular way to build your database applications.
Lucene is most powerful and widely used Search engine. Here is the list of 7 search engines which is built on top of Lucene. You could imagine how powerful they are.
The best way to design a system for handling bulk workloads is to make it a batch system. If we are already using Spring, it will be easy to add a Spring Batch to the project. Spring batch provides a lot of boiler plate features required for batch processing like chunk based processing, transaction management and declarative input/output operations. It also provides job control for start, stop, restart, retry and skip processing also.
Text editors are mainly used by programmers and developers for manipulating plain text source code, editing configuration files or preparing documentation and even viewing error logs. Text editors is a piece of software which enables to create, modify and delete files that a programmer is using while creating website or mobile app.In this article, we will discuss about top 7 all-round performing text editors which is highly supportive for programmers.
One of the popular web framework for building Single page application (SPA) or static site is React library. Application built with React packages will be rendered completely on the client side browser. If you want to reduce the load on client side browser, we need to pre-render the pages in server (Serer side rendering) and serve it to the client. So the client loads the page like simple html page. Also if the pages are rendered from server then search engine will be able to fetch and extract the pages. To do SSR for React, the best abstraction framework is Next.js. In this blog, we will explain how to build a simple consulting website using NextJS.
It is a fact the 2020 is not going the way we expected to be but when it comes to technology breakthrough we can say 2020 will be the heir of greatness. <br />Speaking of technical breakthroughs we have got artificial intelligence which is known to be taking over the mankind like a wildfire. Everything around us is connected through AI be it shopping travelling or even reading. Every other activity of ours is transforming into a whole new extent.
SeoToaster is a free Open Source CMS & Ecommerce solution to build, manage and market websites optimized for for top search engine performance. As the name implies, Seo Toaster is to date the only content management system (CMS) to truly integrate SEO execution and web marketing automation technology in full compliance with the search engines industry’s best practices.
Blockchain is buzzing across the world with its endless potential for disrupting a broad spectrum of the industries beyond the storage and transferring the values. Cryptocurrencies are revolutionizing variant industries and plenty of people talk about it with and their potential. Blockchain technology may have been made for bitcoins but it has immense potential for making the transactions secure and exciting. The technology is not ubiquitous but it already seems to be disrupting a huge number of the highly centralized industries that demonstrate practical use cases for changing the way businesses are done.
You would have seen a lot of blogs for paypal php integration with REST api which is driven completely in the backend. For checkout, paypal provides an easy way to checkout for client side ready-to-use smart button payment. This approach will work only from the frontend, which will not be safe and difficult to reconcile as the backend does not have any information about it. Server side integration with the paypal smart button will help us to reconcile or track the payments even after some issues in the users payment journey. In this blog, we have walkthrough the paypal smart button with server side php laravel integration.
Angular is a platform for building responsive web, native desktop and native mobile applications. Angular client applications are built using HTML, CSS and Typescript. Typescript is a typed superset of Javascript that compiles to plain Javascript. Angular core and optional modules are built using Typescript. Code has been licensed as MIT License.
Light 4j is a fast, lightweight and cloud-native microservices framework. In this article, we will see what and how hybrid framework works and integrate with RDMS databases like MySQL, also built in option of CORS handler for in-flight request.
We have large collection of open source products. Follow the tags from
Tag Cloud >>
Open source products are scattered around the web. Please provide information
about the open source projects you own / you use.
Add Projects.