The Open Event Ecosystem
This post contains data collected and compiled from various sources that include (but not limited to) project readme files, my presentation from FOSSASIA 17, Wikipedia, my head. This aims to be a place for any new contributor to know the basics about the entire Open Event Project. This could also help newcomers choose an Open Event sub-project of their liking and start contributing . The Open Event Project offers event managers a platform to organise all kinds of events including concerts, conferences, summits and regular meet-ups. The components support organisers in all stages from event planning to publishing, marketing and ticket sales. Automated web and mobile apps help attendees to get information easily. There are seven components of the project: Open Event Universal Format - A standard JSON Schema specification for data sharing/transfer/import/export between various components of Open Event. Open Event API Server - The core of the project. The API Server and database. Open Event Frontend - The primary frontend for the Open Event API Server where organisers, speakers and attendees can sign-up and perform various functions. Open Event Organiser App - A cross-platform mobile application for Organisers with ticketing, checking and quick management capabilities. Open Event Android application generator - An android application generator that allows event organisers to generate customised android applications for their events. Open Event Web application generator - A web application generator that allows event organisers to generate customised static easily-hostable web pages for their events. Open Event Data scrappers - A scrapper that allows users to scrape events from popular websites such as eventbrite into the Open Event Universal Format for it to be imported into Open Event. Open Event Universal Format A standard JSON Schema specification for data sharing/transfer/import/export between various components of Open Event. Repository: fossasia/open-event. Open Event API Server The core of the project. The API Server and database. Repository: fossasia/open-event-orga-server. The system exposes a RESTful API to fetch and modify data. It also provides endpoints that allow organisers to import and export event data in a standard compressed file format that includes the event data in JSON (Open Event Universal Format) and binary media files like images and audio. The Open Event API Server comprises of: Flask web framework - Flask is a microframework for python to create web applications. Flask also provided us with a Jinja2 templating engine. PostgreSQL - Our database. PostgreSQL is an open-sourced Object-relational database management system (ORDBMS). We use SQLAlchemy ORM to communicate with the database and perform database operations. Celery - Celery is a Distributed Task Queue. It allows us to run time consuming and/or resource intensive tasks in the background (or) on a separate worker server. We use celery to process event import/export tasks to process email send requests. Redis - Redis is an in-memory data structure store. It's generally used for caching and for message brokering b/w different services due it's insanely fast read-write speeds (since it's an in-memory data store). We use it for caching results of time-consuming less volatile database calls…
