/messaging_app

This is a project for creating a chatting app with features such as real-time messaging, user authentication, and more.

Primary LanguagePythonMIT LicenseMIT

Messaging App

This is a project for creating a chatting app with features such as real-time messaging, user authentication, and more.

Table of Contents

Introduction

The chatting app is designed to facilitate communication between users in real-time. Users can sign up, log in, create conversations, send messages, and receive notifications for new messages.

Features

  • User authentication: Sign up, log in, log out.
  • Real-time messaging: Instant messaging between users.
  • Conversations: Create individual and group conversations.
  • Notifications: Receive notifications for new messages and other relevant events.
  • User relationships: Add friends, block users, etc.

Technologies Used

  • Backend: Flask
  • Python
  • Database: [Postgresql]
  • Frontend: [React Framework]
  • Real-time Communication

Getting Started

  1. Clone the repository.
  2. Install dependencies.
  3. Set up the database.
  4. Start the backend server.
  5. Start the frontend server (if applicable).
  6. Access the app through the browser or mobile device.

Database Schema

The database schema for this project includes the following tables:

  • Users
  • Conversations
  • Messages
  • UserConversations
  • Notifications

For a detailed explanation of the database schema, refer to the Database Schema section in this README.

Contributing

Contributions are welcome! If you'd like to contribute to this project, please follow these steps:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/new-feature).
  3. Make your changes.
  4. Commit your changes (git commit -am 'Add new feature').
  5. Push to the branch (git push origin feature/new-feature).
  6. Create a new Pull Request.

License

This project is licence under the MIT community standards

Author

  1. David M. Muchoki
  2. Michael Korir
  3. Clement Macharia