{"id":28026890,"url":"https://github.com/uosyph/echo","last_synced_at":"2026-04-11T04:34:01.855Z","repository":{"id":221522283,"uuid":"754624186","full_name":"uosyph/ECHO","owner":"uosyph","description":"A modern and lightweight TUI chat app designed for seamless communication in a command-line environment.","archived":false,"fork":false,"pushed_at":"2024-05-06T21:06:14.000Z","size":88,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-20T14:16:58.615Z","etag":null,"topics":["chat-application","express","javascript","messaging","mongodb","nodejs","nosql","npm","tui-app"],"latest_commit_sha":null,"homepage":"https://npmjs.com/package/echo-chat","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uosyph.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-02-08T12:59:03.000Z","updated_at":"2024-06-04T02:13:29.000Z","dependencies_parsed_at":"2024-02-08T14:29:15.878Z","dependency_job_id":"9f62be5d-91dd-4de2-a84e-9067300a5ab9","html_url":"https://github.com/uosyph/ECHO","commit_stats":null,"previous_names":["uosyph/echo"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uosyph%2FECHO","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uosyph%2FECHO/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uosyph%2FECHO/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uosyph%2FECHO/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uosyph","download_url":"https://codeload.github.com/uosyph/ECHO/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253524986,"owners_count":21922008,"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":["chat-application","express","javascript","messaging","mongodb","nodejs","nosql","npm","tui-app"],"created_at":"2025-05-11T06:23:31.309Z","updated_at":"2025-12-30T22:48:18.852Z","avatar_url":"https://github.com/uosyph.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ECHO\n\nECHO is a modern and lightweight chat application designed for seamless communication in a command-line environment.\nWith ECHO, users can engage in real-time text-based conversations without the need for a graphical user interface,\nmaking it perfect for those who prefer a distraction-free chatting experience.\n\nECHO offers a clean and intuitive Terminal User Interface (TUI) that allows users to navigate, send messages, and manage channels effortlessly.\nIt supports multiple channels, enabling users to create, join, and switch between different conversation channels based on their interests or preferences.\n\n## Key Features\n\n- **User Authentication**: Secure login ensures that only authorized users can access the chat application.\n- **Persistent Login**: Enjoy seamless access to your account with persistent login functionality.\n- **Multiple Channels**: Create, join, and manage channels to facilitate conversations on various topics.\n- **Real-time Messaging**: Instantly send and receive messages within the application.\n- **Chat History**: When entering a channel, all previous messages are loaded for a seamless conversation history.\n\n## Usage\n\n- Install ECHO globally using npm:\n  - Run **`npm install echo-chat -g`** on Windows systems.\n  - Run **`sudo npm install echo-chat -g`** on Unix-like systems.\n- Run **`echo-chat`** in the terminal.\n\n## Contributing\n\nContributions are welcome to both the server-side and client-side components of ECHO.\nWhether it's bug fixes, feature enhancements, or documentation improvements, all forms of contributions are appreciated.\n\n### Getting Started\n\nTo contribute, follow these steps:\n\n- [Fork the repo](https://github.com/uosyph/ECHO/fork).\n- Clone your forked repository to your local machine.\n- Create a new branch (`git checkout -b improve-feature`)\n- Make the necessary changes.\n- Test the changes thoroughly.\n- Commit your changes (`git commit -am 'Improve feature'`).\n- Push to the branch (`git push origin improve-feature`).\n- [Create a Pull Request](https://github.com/uosyph/ECHO/compare).\n\n### Client Development\n\nFor client-side development:\n\n- **Install Dependencies**: Run `npm install` to install the necessary dependencies.\n- **Start the client**: Run `npm start` to start the server or `npm watch` to watch for changes.\n- **Linting**: Ensure linting is correct by running npm run lint or npm run fix-lint to fix linting problems.\n\n### Server Development\n\nBefore starting server development, ensure you have the necessary configurations in place:\n\n#### Clients\n\nEnsure you have the following clients running:\n\n- **MongoDB Client**: Ensure you have MongoDB client running.\n- **Redis Client**: Ensure you have Redis client running.\n\n#### Environment Configuration\n\nTo run this project, you need to set up your environment variables.\n\nCreate a file named `.env` in the server directory and add the following configuration:\n\n```env\nENV=\"dev\"\nPORT=server_port\nMONGO_URI=your_mongo_uri\nSECRET_KEY=your_secret_key\nSALT_ROUNDS=your_desired_number\n```\n\n#### Run The Server\n\n- **Install Dependencies**: Run `npm install` to install the necessary dependencies.\n- **Start the Server**: Run `npm start` to start the server or `npm watch` to watch for changes.\n- **Linting**: Ensure linting is correct by running npm run lint or npm run fix-lint to fix linting problems.\n\n## Feedback\n\nIf you find a bug or want to request a new feature:\n\n- For bugs, [open an issue](https://github.com/uosyph/ECHO/issues/new/choose) with details about the problem.\n- For feature requests, [open an issue](https://github.com/uosyph/ECHO/issues/new/choose) with your suggestions.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for more details.\n\n## Author\n\n**Yousef Saeed**:\n[GitHub](https://github.com/uosyph)\n[LinkedIn](https://linkedin.com/in/uosyph)\n[X](https://twitter.com/uosyph)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuosyph%2Fecho","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuosyph%2Fecho","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuosyph%2Fecho/lists"}