Featured web applications
I have deployed these two web applications on a VPS (virtual private server), which is running Debian GNU/Linux.
EmojiBoard
Code: github.com/bt1k/emojiboard
EmojiBoard allows users to submit emojis for others to see. Submitted emojis are stored in a PostgreSQL database. Features include:
- Rate limiting to reduce server load in the event of many requests.
- Database check constraint to ensure only certain emojis can be submitted.
- Database trigger function to ensure that a maximum of 10 emoji posts are in the database at any time, to prevent unlimited growth of database size.
Laravel Test
Code: github.com/bt1k/laravel-test
Laravel Test allows users to submit short text messages, which are shown publicly. It uses a PostgreSQL database. Features include:
- Data validation, so that only certain text inputs will be saved.
- Each post has a "delete" button which sends an HTTP DELETE request to the back-end.
- New posts can't be saved if at least 10 posts are already saved, so that the database can't grow infinitely in size.
Sleeping web applications
These two web applications can each take around 1 minute to load. I am using free hosting on Render which puts websites to sleep when inactive.
New Rails Blog
New Rails Blog is a simple blog website made with Ruby on Rails and a PostgreSQL database. Features include:
- The Trix WYSIWYG text editor for writing rich text blog posts.
- User authentication, which is required to submit a blog post.
- Integration with Cloudinary to host images submitted within blog posts.
The reason for "new" in the name is because I made this website to replace a previous inferior blog website which I also made with Rails.
PostBoard
PostBoard is similar to EmojiBoard above, but instead of submitting only emojis, you can submit text messages. Features include:
- Google's Gemini artificial intelligence API is asked, with a suitable prompt, whether each submitted text message is offensive. Offensive messages are not saved.
- Back-end written with Node.js, the web framework Express, and the Prisma ORM.
- Preact is used on the front-end. It's a lightweight alternative to React, but the developer experience is nearly identical.