https://github.com/ananya2001-an/term-chat
A simple CLI chat application.
https://github.com/ananya2001-an/term-chat
appwrite chat poetry python terminal
Last synced: 6 months ago
JSON representation
A simple CLI chat application.
- Host: GitHub
- URL: https://github.com/ananya2001-an/term-chat
- Owner: Ananya2001-an
- License: gpl-3.0
- Created: 2023-05-27T17:21:10.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-06-07T16:56:58.000Z (about 3 years ago)
- Last Synced: 2025-02-03T12:54:09.326Z (over 1 year ago)
- Topics: appwrite, chat, poetry, python, terminal
- Language: Python
- Homepage:
- Size: 95.7 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# term-chat
[](https://opensource.org/license/gpl-3-0/)
[](https://github.com/psf/black)
[](https://github.com/Ananya2001-an/term-chat/releases)

**term-chat** is a simple command-line chat ๐ฌ application written in Python๐. It allows users to communicate with each other through a terminal interface.
> You can read my hashnode article here to get an overview of the project: [TERM-CHAT: A simple command-line chat application](https://ananyacodes.hashnode.dev/term-chat-a-command-line-chat-application)

## Commands ๐ฎ
It's a Typer application, so you can use the `--help` flag to get a list of all the available commands.
In development mode, you can run the application using `python -m term_chat`.
- Auth commands
- `auth create-user`: Register a new user
- `auth login`: Login as an existing user (creates a pickle file in the current directory)
- `auth logout`: Logout the current user
- `auth whoami`: Display the current user
- `auth delete-user`: Delete the current logged-in user from the database
- Room commands
- `room create`: Create a new chat room
- `room join`: Join an existing chat room
- `room leave`: Leave a room that you have joined
- `room info`: Get information about a chat room
- `room list-all`: List all the chat rooms made by you
- `room delete`: Delete a chat room that you have created
- Chat commands
- `chat start`: Send a message to a chat room
## Features ๐ซ
- Real-time chat: Users can send and receive messages in real-time.
- Multiple chat rooms: Users can join different chat rooms and interact with other users in each room.
- Simple and intuitive interface: The chat interface is designed to be user-friendly and easy to navigate.
## Requirements โ
- Python 3.8 or higher
- [Poetry](https://python-poetry.org/)
## Development/Installation ๐ฉโ๐ป
1. Clone the repository:
```bash
git clone https://github.com/Ananya2001-an/term-chat.git
cd term-chat
```
2. Activate the virtual environment(optional but recommended):
```bash
python -m venv venv
venv/Scripts/activate
```
3. Install the dependencies:
```bash
poetry install
```
4. Create dotenv file and add necessary environment variables for the database connection:
```bash
cp .env.example .env
```
5. Run the tests to make sure everything is working as expected:
```bash
poetry run pytest -v
```
6. Run the application:
```bash
python -m term_chat --help
```