Skip to content

Latest commit

 

History

History
149 lines (111 loc) · 6.31 KB

README.md

File metadata and controls

149 lines (111 loc) · 6.31 KB

Engage 21

Teamix

An effortless communication solution to collaborate with your team remotely!

🔗 Important Links

📝 Project Overview

Teamix is a fully functional clone of microsoft teams made using Agile development methodologies, as a part of the Microsoft Engage 2021 program.

🎯 Introduction

Having an excellent team space is key to being able to make creative decisions and communicate with one another. Shared workspace software makes this much easier to achieve, especially if a particular team is based in a very large company, has many remote employees, or is made up of a significant number of team members.

Keeping these in mind, introducing to you Teamix, a desktop application to effortlessly communicate and collaborate with your team remotely.

img

Features

☢ Make an account and login to start using Teamix!

⚡ Make a team or join a team to collaborate with users remotely.

📺 video call any time with your team and chat with them. Inside a video call, you can share your screen, raise your hand, chat, toggle tile view, change background, start a live stream, share a youtube video, view speaker stats, and many more!

🌿 Make posts inside a team to communicate effectively

🧬 interactive chatbot to help you through if you get stuck.

⚛ Delete a team or post whenever you want.



🌻 Motivation

Having an excellent team space is key to being able to make creative decisions and communicate with one another. Shared workspace software makes this much easier to achieve, especially if a particular team is based in a very large company, has many remote employees, or is made up of a significant amount of team members.

Keeping these in mind, introducing to you Teamix

GIF demo


🧰 Tools and Technologies used

Teamix is a desktop application made with electron.js. There is also a central server and a database in a typical three tier architecture system. The app and the server communicate through http requests and follow RESTful standards.

Backend service:

  • PostgreSQL for database.
  • Node.js
  • Jitsi Web RTC for video calling

Frontend service:

  • HTML
  • CSS
  • Javascript
  • Electron to package the desktop application

⚙️ Installation

  • To run development server, first cd into the backend directory then run -
npm run dev
  • To run electron app, cd into the frontend directory then run -
npm run electron
  • To lint code
npm run lint
  • To run unit tests
npm run test

💻 Project Methodology

The software was developed using scrum framework in agile methodology.

This was done to ensure that the main focus was on the software product. The exact list of features were not exactly known since the start and hence it was very necessary that the whole process was able to accommodate change easily.

The project was released in 2 sprints, and each sprint was further divided into 3 phases-

  • Planning and prototyping: I used a method of prototyping by first designing the UI on Figma and then after final approval, the implementation of it on the desktop application
  • Implementation
  • Testing and review: After each sprint, I discussed my progress with my mentors, and improved my project based on their feedback.

📈 Deployment

The backend is deployed using Heroku. The deployment follows a CI/CD pipeline in which, a successful push to the main branch of the github repository runs a github action which in turn runs a series of unit tests which were written, and only on passing the tests successfully the latest code is deployed to Heroku.

Contributors

Sharanya Mukherjee

Sharanya Mukherjee (Insert Your Image Link In Src

GitHub LinkedIn

Made with ❤️ by Sharanya Mukherjee