shark-chat-js

Modern Chat App written in Next.js

MIT License

Stars
44

Bot releases are visible (Hide)

shark-chat-js - Migrated to PosgreSQL Latest Release

Published by fuma-nama 6 months ago

We have migrated to PostgreSQL, will make some changes soon

shark-chat-js - Shark Chat Beta 3

Published by fuma-nama over 1 year ago

Many breaking changes were being made to the database in order to improve its maintainability.

Message Embeds

When someone posted a link, no one knows what's the link about.
With embeds, people can see some information on the linked website without clicking on the link.

Shark Chat Beta - Google Chrome 6_14_2023 7_04_49 PM

UI & UX Improvements

We've made some small changes to the UI, components such as Avatar, Modal and Tabs have a better look.

Better Sidebar

The old sidebar is "weird" and overcrowded, we redesigned a better one, with more features.

Last Message

Now, Chat group items on the sidebar also display the last message, you can see the latest message of a chat group without clicking inside.
Shark Chat Beta - Google Chrome 6_14_2023 7_11_29 PM

User Profile Modal

Previously, if you click on a username, you'll be redirected to Direct Message. After the update, a modal will be opened instead:
Shark Chat Beta - Google Chrome 6_14_2023 7_15_54 PMd

Inspired by Shadcn UI

I tried Shadcn UI, and their implementation inspired me a lot.
For example, bg-light-100 dark:bg-dark-900 can be simplified into bg-background.

This design can make the css even simpler and break nothing when moving fast.

Migrated to Monorepo

As the codebase is growing way faster, we've just migrated this repository to a monorepo (using Turbo).

Channel API (Internal)

Actually, the API for direct messages and chat groups is entirely different. We usually have to implement the same feature twice in order to support both DM and group chat.

Those duplicated parts are now combined into the Channel API, which effectively reduces the difficulty to maintain the codebase.

Summary

Full Changelog: https://github.com/SonMooSans/shark-chat-js/compare/beta-0.2...beta-0.3

shark-chat-js - Shark Chat Beta 2

Published by fuma-nama over 1 year ago

Several changes are made to support more features and improve the performance

Message Attachments

You can upload and attach images/files to your message (limit is 10MB)

Redis

Redis is now used for storing simple data such as unread messages amount
in order to enhance the performance and load speed

Ratelimit

The Rate limit is implemented using the Upstash Ratelimit package
The current limit is 50 requests per 10s

Drizzle ORM

Migrated from Prisma to Drizzle ORM, improved query speed

Other Changes

  • UI/UX Improvement
  • Reduce unnecessary re-renders
  • Improve internal utilities such as Ably Schema
shark-chat-js - First Beta

Published by fuma-nama over 1 year ago

Related Projects