A fullstack social media platform with real-time chatroom functionality.
- User authentication (username/password)
- Customizable user profiles (bio, profile picture, links)
- Post text, images, and videos (up to 10MB)
- Edit and delete posts
- Real-time global chatroom
- User-created chatrooms
- Post reactions
- Clickable usernames linking to profiles
- Backend: Node.js, Express, Socket.io
- Database: PostgreSQL
- Frontend: Vanilla JavaScript, HTML5, CSS3
- Auth: bcrypt password hashing, express-session
- Install dependencies:
npm install-
Create a
.envfile based on.env.exampleand configure your database connection. -
Set up PostgreSQL database:
psql -U postgres
CREATE DATABASE socialchat;-
Run the database schema (see server/schema.sql)
-
Start the server:
npm start
# or for development with auto-reload
npm run devReady for Railway deployment with PostgreSQL plugin.