Skip to content

facinick/gnippet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Gnippet

ReadMe is under development, but you can check the demo and browse the code. (obviously). Documentation for setting up DB, seeding, installing modules, building app and serving the app is pending.

Purpose

To learn and share with other begineers who can learn or can help me learn. Also to use it as my personal blog to post random things that come to my head.

Features ๐Ÿš€

  • ๐Ÿ‘ค Authentication (signup, signin) using JWT
  • ๐ŸŽจ Themes (red, blue, black, default, green)
  • ๐ŸŒ™ Night mode and day mode for every theme
  • โœ๏ธ Create posts
  • โœ๏ธ Comment on posts, comment on comments
  • ๐Ÿ‘ Vote posts and comments (upvote or downvote)
  • ๐Ÿ”– Bookmark posts and comments
  • ๐Ÿ‘€ View bookmarked posts and comments in profile
  • ๐Ÿ‘€ View voted posts and comments in profile
  • ๐Ÿ‘€ View created posts and comments in profile
  • ๐Ÿ”Ž Search Users and Tags on Home page
  • ๐Ÿงฎ Count approximately unique visits on posts
  • ๐Ÿ–ผ๏ธ Create posts with pictures
  • #๏ธโƒฃ Add tags while creating posts
  • ๐Ÿ‘€ View posts by tags
  • ๐Ÿ—‚๏ธ Sort post by votes (no. of upvotes - no. of downvotes), activity (no. of comments) and time (recent)
  • โฑ๏ธ Reading time for posts

Low level features ๐Ÿ›บ

  • Skip / Take pagination for posts on Home page
  • Cursor based paination for posts on Tags page
  • Global state management with apollo
  • Local state management with react hooks
  • Remote state management with apollo
  • Updating Apollo cache upon query and mutation completion
  • DB Modelling of users, posts, pages, comments, votes, tags, bookmarks, post visitors demoing various entity relationships (one-one, one-many, many-many, many-one)
  • Responsiveness
  • Search autocomplete feature

Tech

  • GraphQL
  • Prisma
  • PostgreSQL
  • JWT
  • React JS
  • CSS
  • MUI 5
  • Lottie Animation

Prisma schema ERD ๐Ÿ—บ๏ธ (might not be accurate, created using https://prisma-erd.simonknott.de/)

gnippet-prisma-erd

Upcoming ๐Ÿ“…

  • Notifications (notify users when their posts are voted and commented on in real time)
  • Show Lottie animation for new posts
  • Rich Text Editor
  • PWA
  • Move architecture to Domain Driven Design

NOTICE: All the upcoming, including the current features are and will be implemented in another project: https://github.com/facinick/SpaceMonk , deployment is not currently working. local installation will work.

goal: faster, efficient, more features for a generic social media, so any idiot like me can learn.

Releases

No releases published

Packages

No packages published

Languages