Simple implementation of a Twitter-Wall like grid of postings from Mastodon
 
 
 
Go to file
Tretkowski Norbert f216b42011 Merge pull request 'Even more improvements' (#5) from lisswoma/mastowall:for-pi2 into main
Reviewed-on: norbert.tretkowski/mastowall#5
2023-11-25 10:21:11 +01:00
LICENSE Initial commit 2023-05-17 02:11:06 +02:00
README.md Link to original project on GitHub 2023-11-24 08:05:29 +01:00
README_SSB.md move mouse to bottom right on startup 2023-11-18 20:53:12 +01:00
bootstrap.min.css stuff 2023-11-10 17:17:00 +01:00
config.json Add gruene.social to title 2023-11-23 20:48:46 +01:00
index.html some fixes 2023-11-16 12:18:48 +01:00
masonry.pkgd.min.js stuff 2023-11-10 17:17:00 +01:00
mastowall-favicon.png Branding und Übersetzung 2023-11-05 10:55:58 +01:00
mastowall.desktop add 5 seconds sleep before opening mastowll 2023-11-18 20:53:58 +01:00
script.js Fix extra cards display duration 2023-11-25 02:21:55 +01:00
sharepic.jpg Add ability to display extra cards and add a post max age 2023-11-23 20:44:41 +01:00
styles.css Add emoji support 2023-11-25 02:18:39 +01:00

README.md

Mastowall 1.1

Forked from https://github.com/rstockm/mastowall

Mastowall is a social wall application that displays posts from the Mastodon social network based on specified hashtags. It was written entirely by ChatGPT4, guided only by text prompts.

image

Try it live: Mastowall for BDK23

Use your own hashtags and server:

image

JSON config file:

image

Features

  • Display Posts: The app fetches and displays posts from Mastodon based on the hashtags provided in the URL. If no hashtags are provided, it presents a form to enter up to three hashtags.

  • Custom Mastodon Server: Allows users to specify a Mastodon server URL from which to fetch posts.

  • Real-Time Updates: Mastowall updates the posts every 10 seconds, ensuring that the content displayed is always current.

  • Relative Timestamps: The timestamps of the posts are displayed relative to the current time, and are updated every minute to reflect the passing time.

  • Masonry Grid Layout: The posts are displayed in a masonry grid layout for a visually pleasing experience.

  • Responsive Design: The layout adjusts according to the screen size for better readability on different devices.

  • Navbar Hashtag Navigation: Clicking on the hashtags in the navbar takes you to the form screen, allowing you to change the existing hashtags easily.

  • Navbar Color Customization: The color of the navigation bar can now be customized via the config.json file.

  • Including Replies: By default, replies are excluded from the wall. However, this behavior can be changed by setting includeReplies to true in the config.json file.

Technology Stack

Mastowall is built using the following technologies:

  • HTML, CSS, and JavaScript: For structuring, styling, and functionality.

  • jQuery: A fast, small, and feature-rich JavaScript library.

  • Masonry: A JavaScript grid layout library.

  • Bootstrap: A popular CSS framework for responsive, mobile-first front-end web development.

  • DOMPurify: Library for sanitizing HTML input, which should prevent the vast majority of malicious input from being rendered

Usage

  1. Load the application in a web browser. If no hashtags are specified in the URL, you will be presented with a form to enter up to three hashtags and a server URL.

  2. After entering your hashtags and clicking 'Reload', the application will fetch and display posts from the specified Mastodon server that include those hashtags.

  3. The displayed posts will update every 10 seconds. The relative timestamps will also update every minute.

  4. To change the hashtags, click on them in the navbar to go back to the form screen.

Sharing via URL

Mastowall supports URL parameters to easily share specific hashtag configurations and the Mastodon server. Simply append the desired hashtags and the server URL to the URL following this format: ?hashtags=hashtag1,hashtag2,hashtag3&server=serverUrl

Enjoy using Mastowall!

AI-Guided Development: A Proof of Concept

Mastowall may serve as an example of how artificial intelligence can aid and accelerate the software development process. The development of this version of the app was guided by OpenAI's GPT-4, a large language model.

In this process, the human developer posed problems, asked questions, and described the desired features and functionalities of the application. GPT-4 then provided solutions, answered queries, generated code snippets, and suggested optimal ways to implement these features.

Every single line of code was written by ChatGPT4. Including this README.