Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/victorharri-chal/teams
👋 A network project in C whose goal was to reproduce how the application Microsoft Teams works. One of the last project of my 2nd year at Epitech
https://github.com/victorharri-chal/teams
c client-server epitech network second-year-project socket-programming
Last synced: 15 days ago
JSON representation
👋 A network project in C whose goal was to reproduce how the application Microsoft Teams works. One of the last project of my 2nd year at Epitech
- Host: GitHub
- URL: https://github.com/victorharri-chal/teams
- Owner: VictorHarri-Chal
- License: mit
- Created: 2022-07-06T15:51:08.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-07-06T16:40:35.000Z (over 2 years ago)
- Last Synced: 2023-05-20T13:23:21.747Z (over 1 year ago)
- Topics: c, client-server, epitech, network, second-year-project, socket-programming
- Language: C
- Homepage:
- Size: 45.9 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Teams
## A network project based on the Microsoft Teams application
The purpose of this project was to reproduce how Teams is working and to learn socket-programming.
This network project made us learn about mutli-clients handling or communication protocol implementation.With our Teams, you can communicate with other users; create teams, channels, threads and replies; subscribe to specific teams you want to have events from and many others features.
## Usage
``` zsh
make
```- Open a terminal and execute this command in order to run the server on the specified port.
``` zsh
./my_teams_server
```
- Open one other terminal (or many others) and execute this command in order to run a client on the specified IP adress and port.
``` zsh
./my_teams_cli
```
I made this project with 1 teammate :
- [Simon LeFourn](https://github.com/simlf)## Features
- ``` /help ``` : show help
- ``` /login ["username"] ``` : log yourself to teams
- ``` /logout ``` : disconnect yourself from the server
- ``` /users ``` : display the list of all users using teams currently
- ``` /user ["user_uuid"] ``` : display information about a specific user
- ``` /send ["user_uuid"] ["message_body"] ``` : send a message to a specific user
- ``` /messages ["user_uuid"] ``` : display the list of all exchanges with a user
- ``` /subscribe ["team_uuid"] ``` : subscribe to the events if a team and its sub directories
- ``` /unsubscribe ["team_uuid"] ``` : unsubscribe from a specific team
- ``` /use ["team_uuid"] | ["channel_uuid"] | ["thread_uuid"] ``` : user specify context team/channel/thread
- ``` /create ["team_name"] ["team_description"] ``` : create a new team, you can do it only at root
- ``` /create ["channel_name"] ["channel_description"] ``` : create a new channel, you can do it only in a team
- ``` /create ["thread_name"] ["thread_description"] ``` : create a new thread, you can do it only in a channel
- ``` /create ["reply_body"] ``` : create a new reply, you can do it only in a thread
- ``` /info ``` : depending on context : root, team, channel, thread