Coder Social home page Coder Social logo

meetingtoolproject's Introduction

Meeting Tool Project

Description

This project is a meeting tool that allows users to create meetings and chat. The tool is built using Redis and a traditional Mysql Database.

Installation

  1. Clone the repository
  2. Install the dependencies using pip install -r requirements.txt
  3. Run a local mysql server
  4. Run a local redis server
  5. Load the database schema from the file database.sql
  6. Run the program using 'python UI.py'

Development

The project is developed using Python and the following libraries:

  • Redis
  • Mysql

In order to achieve the goal of the project, the following classes were created:

  • User
  • Meeting
  • MetingInstance
  • RedisConnection
  • DataBaseConnection
  • UI
  • Scheduler
  • RedisFunctions

Scheduler is a class that is used to check if there are any meetings that are due to start and if so, it starts them. It also checks if there are any meetings that are due to end and if so, it ends them. In the beggining of the program, Scheduler is started in a separate thread and it runs in the background.

UI is a class that implements interaction with the user. The user types in the function he wants to run along with any required input in the command line. The produced output is displayed in the same CLI.

The main functions of the program are implemented in the RedisFunctions class. This class interacts with the Redis and MySql databases. It is used to create, delete and update meetings and users. It is also used to get the information about the meetings and users.

In order to support chat we used redis pub/sub. When a user joins a meeting, he subscribes to the channel of that meeting. When a user sends a message, the message is published to the channel of the meeting. The channel of each meeting runs in a separate thread the background.

meetingtoolproject's People

Contributors

gzark1 avatar mariosajdini avatar

Watchers

 avatar

Forkers

gzark1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.