Skip to content

Repository files navigation

Nanogram Website on Next.js

Planned features

  • Next.js
  • Mongodb Atlas (database)
  • Cloudflare R2 (storage) (debit card 😔) (not using)
  • Cloudinary (storage) (no cc 🤩) (only image and video 😔)
  • UploadThing (storage) (2 GB 🤩)
  • Clerk.dev (auth)
  • Upstash (Redis) (rate limiting)
  • Ably (Web Socket) (messaging)
  • Airtable (Tabular form data)
  • Mailjet (Newsletters)
  • Google Gemini (embeddings and ai)
  • Qdrant (Vector search?)
  • GraphQL (Better Querying)
  • Cleaner UI/UX with daisy UI
  • Shadcn for amazing UI
  • Form builder and Blog builder

Minor features (brainstorm)

  • opengraph and twitter emmbeddings generation
  • fun game, yes
  • blogs can be md files, just an idea tho, not just an idea anymore turns out it's best fit for blogs

What to do next

  • api routes for events collection
  • api logic for the entirity of events route
  • fix the inconsistency in home and events route
  • customize reverify dialog window
  • bring all the clerk manage functions to frontend using reverification
  • redo previous manage account features
  • test very email, delete email, (profile update, remove social connection, delete account)
  • link api when user details are updated. T_T
  • start work on the community group
  • community ui
  • cleanup community UI
  • hook up ably to the backend
  • fix report button (airtable)
  • figure out query schema
  • set up ably listner for notifications
  • add safety checks to message query
  • find a vector db
  • add like share comment save feature
  • add karma feature
  • add bio section in manage account
  • add intersection observer to comments and make it infini scroll
  • fix all users screen
  • add report post and comment feature (combination ui perhaps?)
  • connect uploadthing and establish blogs and newsletters
  • add 2fa check for POST, PUT, DELETE functions for devs
  • subscribe to newsletter
  • connect cloudinary and test out it's usage
  • Revamped Navbar and community sidebar
  • better api authentication allowing api key creation (mailjet perhaps) (no mailjet but still doable)
  • admin auth proxy api
  • make proxy secure/ ditch proxy for server actions "use server"
  • community database rework
  • relationships using aggregate
  • add ai mascot
  • give context to ai
  • gallery route
  • fix the Contacts.tsx component (insert racial slur)
  • add all models to graphql
  • admin dashboard
  • add UI to upload images to gallery
  • check if admin by comparing a admin database
  • censor board
  • activity logs
  • Dev/API page for developers
  • Docs for the devs
  • Terms of Service and Privacy policy
  • mobile app and desktop app (I don't get paid enogh for tis)
  • IP bans (make the game first exquisite young lad)

Current Progress

  • routes have been established
  • navbar ui ready
  • sidebar and bottombar ready
  • Auth is ready but /callback needs attention & overall UI needs improvement. next hook up DB to auth
  • Connected MongoDB to app and checked with schema creation
  • Working towards adding a api route to generate open-graph images
  • Added api routes to fetch from nanogram collection
  • Added the hero section
  • Completed Home page
  • Added auth to api routes
  • Completed About Us page
  • Completed Events page (bug: home and events route has inconsistancy in layout)
  • fixed the inconsistency
  • Revamped Navbar and community sidebar
  • Events page database fetching done
  • made the manage account component but multiple features are still missing
  • possible features from manage account: (revoke sessions, add_emails, add_connections?)
  • add emails, add connections, revoke sessions, update password built
  • manage account ui complete
  • uploadthing connected
  • blog and newsletter api routes done
  • cloudinary integrated and storage increased to 25GB 🤩
  • post apis in place
  • better api auth but unimplemented on many routes
  • rate limits added using redis
  • proxy route added
  • proxy route removed (I hate myself)
  • server actions added
  • added onboarding and user api route
  • fixed manage account drawer completely testing remaining
  • added posts api routes
  • added new routes to handle user profile viewing, following etc.,
  • worked on ui
  • added embeds for posts
  • community ui updated
  • made onboarding fancier
  • added explore page partially
  • Newsletter and Blog UI updated
  • Comment apis done
  • Comments UI done
  • Messages UI is done
  • Ai mascot is here
  • Gallery tab is done
  • Added vector search for posts
  • Fixed newsletters page
  • Vector search blogs
  • Vector and tag search for posts
  • report post, comment and blog feature added
  • graphql implemented lesgooo

Challenges

  • lack of good websocket infrastructure for free (messaging)
  • that i don't follow html tag conventions (recheck every components exquisite young lad)
  • clerk is a bitch and locks many features from the sdk (or so i thought I just suck at designing client side components for managinf accounts) (Ifiguerd it out I am the mistake)

.env codes

How to use

npm run dev

About

An attempt to make a website for nanogram which can be deployed and rendered server side improving it's SEO and loading latency.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Used by

Contributors

Languages