Skip to content
scryingorbPublic

About

A full-stack social media app built with React, Node.js, Express, Prisma, and SQLite. Chorus includes accounts, profiles, photo and video posts, likes, comments, reposts, follows, bookmarks, notifications, and direct messaging.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

Repository files navigation

Chorus

Full-stack social app with profiles, media posts, messaging, and notifications, built with React, Express, and Prisma.

Overview

Chorus is a full-stack social media app inspired by modern short-form social networks. Users can create accounts, customize their profile picture, publish text/photo/video posts, follow people, comment, like, repost, bookmark, receive notifications, and send direct messages.

Features

  • Create accounts and customize profiles and avatars.
  • Publish text, photo, and video posts.
  • Follow users and like, comment, repost, or bookmark posts.
  • Receive notifications and exchange direct messages.
  • Explore seeded local demo accounts and content.

UI Preview

Source-generated UI preview, not an actual application screenshot. Reconstructed from the UI markup, original stylesheet, and Lucide icons; shows the desktop home interface in its empty-feed state with the documented demo identity and initials avatar.

Chorus source-generated UI preview — desktop home interface in its empty-feed state

Technologies

JavaScript, React, Vite, Node.js, Express, Prisma, SQLite, JWT, and bcrypt.

Getting Started

Use Node.js 22.12+ (the current Vite frontend requires a newer Node.js than the root package minimum).

  1. Download or clone the source repository.
  2. Open VS Code.
  3. Select File → Open Folder and choose the folder containing the root package.json.
  4. Open Terminal → New Terminal.
  5. Run:
npm.cmd run setup
npm.cmd run dev
  1. Open http://localhost:5173.

The setup command installs dependencies, creates the local environment file if missing, resets the SQLite database, and adds demo content. Run setup only for a fresh local database or after backing up existing data: its db:setup command uses prisma db push --force-reset. For an already initialized workspace, use npm.cmd run dev.

Usage

Every seeded account uses the password chorus123:

Name Email Username
Alex Morgan demo@chorus.local alexmorgan
Lena Ortiz lena@chorus.local lenaortiz
Marcus Lee marcus@chorus.local marcuslee
Amara Brooks amara@chorus.local amarabrooks
Noah Patel noah@chorus.local noahpatel

These are fictional but fully functional accounts with seeded posts, follows, likes, comments, reposts, messages, and notifications. Sign in as any account to post and interact as that person.

You can also create your own account from the registration screen.

To change your profile picture, open your own profile and click the red camera button on your avatar. Chorus accepts JPEG, PNG, WebP, and GIF images up to 5 MB.

Commands

npm.cmd run setup   # Install and reset/seed the local database
npm.cmd run dev     # Start the API and React app
npm.cmd run build   # Build the React client

The API runs at http://localhost:3001 and the React app runs at http://localhost:5173.

Before deploying publicly

  • Replace the local JWT_SECRET with a strong production secret.
  • Move uploads to a cloud service such as Cloudinary or Amazon S3.
  • Replace SQLite with PostgreSQL if you expect significant traffic.
  • Add email verification, password resets, reporting, blocking, and moderation.

Project Status

Functional prototype for local development. Public deployment still needs the safeguards listed above; no packaged GitHub release is available.

About

A full-stack social media app built with React, Node.js, Express, Prisma, and SQLite. Chorus includes accounts, profiles, photo and video posts, likes, comments, reposts, follows, bookmarks, notifications, and direct messaging.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages