{"id":19140880,"url":"https://github.com/bobis33/myteams","last_synced_at":"2025-04-19T11:30:47.522Z","repository":{"id":241775672,"uuid":"681288234","full_name":"bobis33/MyTeams","owner":"bobis33","description":"EPITECH PROJECT | NETWORK PROGRAMMING | MYTEAMS","archived":true,"fork":false,"pushed_at":"2024-05-30T06:28:22.000Z","size":738,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-22T19:14:14.146Z","etag":null,"topics":["c","communication","epitech","network","network-programming"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bobis33.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-21T17:25:57.000Z","updated_at":"2024-05-30T07:39:22.000Z","dependencies_parsed_at":"2024-05-30T03:22:14.136Z","dependency_job_id":null,"html_url":"https://github.com/bobis33/MyTeams","commit_stats":null,"previous_names":["bobis33/myteams"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobis33%2FMyTeams","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobis33%2FMyTeams/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobis33%2FMyTeams/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobis33%2FMyTeams/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bobis33","download_url":"https://codeload.github.com/bobis33/MyTeams/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249685164,"owners_count":21310556,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","communication","epitech","network","network-programming"],"created_at":"2024-11-09T07:19:06.868Z","updated_at":"2025-04-19T11:30:47.196Z","avatar_url":"https://github.com/bobis33.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EPITECH | B-NWP-400 | MyTeams\n\n![Epitech](doc/png/Epitech_banner.png)\n\n## Description\n\nThe goal of this project is to create a server and a CLI client. \n\n\n## Requirements\n\n- [GNU C Library](https://www.gnu.org/software/libc/)\n- [Libuuid](https://linux.die.net/man/3/libuuid)\n\n\n## Server\n\nThe server is able to handle several clients.\n\nWhen the server shutdown it save internal information.\nWhen the server start it look if the save exist and load it.\n\nThe server will print every requested events on the standard error output.\nIn specific case some information can be displayed on the standard output.\n\nThere is no password authentication required.\n\n* ### Usage\n\n```bash\n$\u003e ./Server/myteams_server [port]\n```\n\n\n## CLI Client\n\n* ### Usage\n\n```bash\n$\u003e ./Client/myteams_client [ip] [port]\n```\n\n* ### Features\n\n  show help\n    ```shell\n      /help\n    ```\n\n  set the user_name used by client\n    ```shell\n      /login [\"user_name\"]\n    ```\n\n  disconnect the client from the server\n    ```shell\n      /logout\n    ```\n\n  get the list of all users that exist on the domain\n    ```shell\n      /users\n    ```\n\n  get information about a user\n    ```shell\n      /user [\"user_uuid\"]\n    ```\n\n  send a message to a user\n    ```shell\n    /send [\"user_uuid\"] [\"message_body\"]\n    ```\n\n  list all messages exchange with a user\n    ```shell\n    /messages [\"user_uuid\"]\n    ```\n\n  subscribe to the event of a team and its subdirectories (enable reception of all events from a team)\n    ```shell\n    /subscribe [\"team_uuid\"]\n    ```\n\n  list all subscribed teams or list all users subscribed to a team\n    ```shell\n    /subscribed ?[\"team_uuid\"]\n    ```\n\n  unsubscribe from a team\n    ```shell\n    /unsubscribe [\"team_uuid\"]\n    ```\n\n  use specify a context team/channel/thread\n    ```shell\n    /use ?[\"team_uuid\"] ?[\"channel_uuid\"] ?[\"thread_uuid\"] \n    ```\n\n  based on what is being used create the sub resource\n    ```shell\n    /create\n    ```\n\n  based on what is being used list all the sub resources\n    ```shell\n    /list\n    ```\n\n  based on what is being used list the current\n    ```shell\n    /info\n    ```\n\n    * #### /Create\n        When the context is not defined (/use):\n        ```shell\n          /create [\"team_name\"] [\"team_description\"] : create a new team\n        ```\n      \n        When team_uuid is defined (/use \"team_uuid\"):\n        ```shell\n          /create [\"channel_name\"] [\"channel_description\"] : create a new channel\n        ```\n      \n        When team_uuid and channel_uuid are defined (/use \"team_uuid\" \"channel_uuid\"):\n        ```shell\n          /create [\"thread_title\"] [\"thread_message\"] : create a new thread\n        ```\n      \n        When team_uuid, channel_uuid and thread_uuid are defined (/use \"team_uuid\" \"channel_uuid\" \"thread_uuid\"):\n        ```shell\n          /create [\"comment_body\"] : create a new reply\n        ```\n\n    * #### /List\n\n      When the context is not defined (/use):\n      ```shell\n      /list : list all existing teams\n      ```\n      \n      When team_uuid is defined (/use “team_uuid”):\n      ```shell\n      /list : list all existing channels\n      ```\n      \n      When team_uuid and channel_uuid are defined (/use “team_uuid” “channel_uuid”):\n      ```shell\n      /list : list all existing threads\n      ```\n      \n      When team_uuid, channel_uuid and thread_uuid are defined (/use “team_uuid” “channel_uuid” “thread_uuid”):\n      ```shell\n      /list : list all existing replies\n      ```\n\n    * #### /Info\n\n      When the context is not defined (/use):\n      ```shell\n      /info : display currently logged user infos\n      ```\n      \n      When team_uuid is defined (/use “team_uuid”):\n      ```shell\n      /info : display currently selected team infos\n      ```\n      \n      When team_uuid and channel_uuid are defined (/use “team_uuid” “channel_uuid”):\n      ```shell\n      /info : display currently selected channel infos\n      ```\n      \n      When team_uuid, channel_uuid and thread_uuid are defined (/use “team_uuid” “channel_uuid” “thread_uuid”):\n      ```shell\n      /info : display currently selected thread infos\n      ```\n\n\n* ### Information\n\n  Please note that all arguments of the existing commands have to be quoted with double quotes. A missing quote is interpreted as an error.\n\n\n## Commit Norms\n\n| Commit Type | Description                                                                                                               |\n|:------------|:--------------------------------------------------------------------------------------------------------------------------|\n| build       | Changes that affect the build system or external dependencies (npm, make, etc.)                                           |\n| ci          | Changes related to integration files and scripts or configuration (Travis, Ansible, BrowserStack, etc.)                   |\n| feat        | Addition of a new feature                                                                                                 |\n| fix         | Bug fix                                                                                                                   |\n| perf        | Performance improvements                                                                                                  |\n| refactor    | Modification that neither adds a new feature nor improves performance                                                     |\n| style       | Change that does not affect functionality or semantics (indentation, formatting, adding space, renaming a variable, etc.) |\n| docs        | Writing or updating documentation                                                                                         |\n| test        | Addition or modification of tests                                                                                         |\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbobis33%2Fmyteams","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbobis33%2Fmyteams","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbobis33%2Fmyteams/lists"}