Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@


# Tweetalyst

Tweetalyst is a lightweight, web-based microblogging platform. It enables users to share short updates, build a social following, and search through community content. Designed with a focus on simplicity and real-time interactions, it replicates core microblogging features with a clean, responsive interface.

## Features

* **Microblogging:** Share updates with a strict 140-character limit.
* **Social Graph:** Follow and unfollow other users to curate your feed.
* **Smart Formatting:** Automatic hyperlinking for `@mentions` and `#hashtags`.
* **Real-time UI:** AJAX-powered post submission and deletion with visual animations.
* **User Profiles:** Support for custom bios, contact emails, and Gravatar avatars.
* **Search:** Query the timeline by keyword, user, or hashtag.
* **Live Character Counter:** Visual feedback that changes color as you approach the post limit.

## Installation

1. Clone the repository:
```bash
git clone https://github.com/aero/Tweetalyst.git
cd Tweetalyst
```
2. Initialize the SQLite database using the provided schema:
```bash
sqlite3 tweetalyst.db < db/tweetalyst.sql
```
3. Configure your web backend to serve the `root/` directory and establish a connection to `tweetalyst.db`.
4. Start your server and access the application via your browser.

## Usage

* **Compose Posts:** Type your message in the text area. The interface displays remaining characters and disables the submit button if the limit is exceeded.
* **Publish & Delete:** Submitting a post instantly prepends it to the feed without a page reload. Click the trash icon to remove posts via AJAX.
* **Tag & Mention:** Use `@username` to link to user profiles and `#hashtag` to create searchable topics.
* **Search:** Type keywords into the top-right search bar to filter posts.
* **Follow Users:** Navigate to a user's profile to view their bio and post history, then click follow to add their content to your stream.

## Tech Stack

* **Database:** SQLite (`db/tweetalyst.sql`)
* **Frontend:** HTML5, CSS3 (`root/static/static.css`)
* **JavaScript:** jQuery & jQuery UI (`root/static/static.js`)
* **Assets:** Gravatar integration for user avatars

*(Note: Backend server logic is not included in the provided repository snippet.)*