The project is a streaming platform for conducting online events of various types, ranging from entertainment to scientific activities. Our goal was to create an online solution for events that had as many features as an offline one to ensure a quality conference.
The following features are available in the app:
- Online streaming option;
- Networking opportunities for participants (video and text chat);
- Ability to vote and raise questions with the “Raise your hand” function ;
- Pay for the conference in the app.
Besides, organisers of events have real-time statistics about participants, their interests (pages or stands that they visited), and can check whether a particular user is online. Furthermore, the platform allows sponsors to create visual stands where participants can find out information about them.
It may be interesting:
What Was Done
The main challenge on the project was to create a solution from scratch in the shortest possible time and with a limited budget.
To begin with, we have integrated one of the best user authentication methods, the JWT(JSON Web Token). This type of authorization is very secure and is now considered one of the best solutions. You could also become a user of this system by logging in via LinkedIn.
One problem that had to be solved during the development process was creating a service that allowed registering one user as a delegate for various events. We had to add access checks and users to various events and include their parts as delegates. Users who registered for the event could ask questions that were moderated by administrators.
The administrator also monitored the broadcast and could send messages to all users on the broadcast, or create various polls in which users could participate. In addition, we made it possible to communicate in chats and to send special invitations to group calls.
This platform also incorporated space for sponsors of various ranks, who could create their own stands where users could find out information about them. Employees working at the sponsors’ stands were given additional rights on their user profiles to edit the stands.
An example of a new challenge on this project was logging users in online mode and displaying this status. It was necessary to check whether the user was online, as well as on which page they were located. This allowed the tracking of the interests of users, as well as interest in the event. This functionality was necessary for sponsors in order that they could know the number of users who came to their stand from the event.
In addition, we created a payment system for paid events (or those accessed via promo code), which required close integration with the Stripe payment service.
Project team: 2 developers, 1 PM.
Technologies and tools: Python, PostgreSQL, Django, Django REST, JWT token integration, Pytest, Docker, Docker compose, Redis as a broker for Celery, Social Auth(oauth2) and the official Stripe library for interacting with their API. Also, we have close integration with AWS(EC2, DynamoDB, Lambda func.,API Gateway, Event Bridge. RDS, S3), Websockets.