Skip to content

Modern, database-backed, single-page web application with similar functionality to Slack, allowing users to send and read real-time chat messages organized by channels

Notifications You must be signed in to change notification settings

catonbrewster1/belay_slack_cone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Belay (a Slack clone)

Author: Caton Brewster

How to Launch

From within the project directory:

  1. Run the following code in the command line to create the necessary tables in the database:

    sqlite3 db/belay.db < db/20220307T160000_create_tables.sql
    
  2. Run the following code in the command line to launch the server:

    python app.py
    
  3. Select the URL returned on the console to visit the site, e.g. "* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)"

About Belay

Belay is a website that lets users send and read real-time chat messages that are organized into rooms called Channels. Any user can create a new channel by supplying a display name. The channel menu indicates how many new messages have been posted to that channel that the user hasn't read yet. Messages may be threaded as Replies in response to a message in a channel. Messages in the channel will display how many replies they have if that number is greater than zero.

Features of the Website

  • Belay is a single-page web application. It serves a single HTML request on load and does not refresh the page as the user navigates the site.
  • Belay is served by a Flask API.
  • All data about users, channels, and messages is stored in a SQLite database.
  • Other than loading the initial page and serving static content like scripts, stylesheets, and images, all interaction with the Belay server is handled via JSON API requests.
  • Users must sign up and login using a unique username and password. User authentication persists even when browser is closed and reopened.
  • Asynchronous Request Handling: Belay automatically sends non-blocking requests to the server to check for new channels and new messages in a channel.
  • Users can use the Back button to navigate to a previous channel or thread

References

About

Modern, database-backed, single-page web application with similar functionality to Slack, allowing users to send and read real-time chat messages organized by channels

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published