Skip to content
/ Towny Public

A fun side project inspired by a youtube video, aiming to recreate a mini version of Zep / Gather Town! ๐ŸŽฎ๐Ÿ‘พ

Notifications You must be signed in to change notification settings

coderomm/Towny

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

67 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ™๏ธ Towny

Towny is a real-time collaborative web app โ€” similar to platforms like gather.town or zep.us โ€” built with:

  • โš›๏ธ React (Vite) frontend
  • ๐Ÿš€ Express backend with integrated WebSocket server
  • ๐Ÿ›ก๏ธ Prisma + PostgreSQL for database
  • ๐ŸŒ Real-time communication

๐Ÿ“ Folder Structure

towny/
โ”œโ”€โ”€ backend/    # Express + WebSocket + Prisma
โ”œโ”€โ”€ frontend/   # React + Vite


โš™๏ธ Getting Started (Local Setup)

1. Clone the repository

git clone https://github.com/coderomm/Towny.git
cd towny

2. Start the Backend

cd backend
cp .env.example .env
npm install
npx prisma generate
npm run dev

Backend & WebSocket: http://localhost:3000


3. Start the Frontend

cd ../frontend
npm install
npm run dev

Frontend: http://localhost:5173


๐Ÿ” Optional: Run Both Together

Install concurrently and add this to the root package.json:

npm install --save-dev concurrently
"scripts": {
  "dev": "concurrently \"npm run dev --prefix backend\" \"npm run dev --prefix frontend\""
}

Then run:

npm run dev

๐Ÿ”ง Proxy Setup

To avoid CORS issues, ensure vite.config.ts has:

server: {
  proxy: {
    '/api': 'http://localhost:3000'
  }
}

โœ… Done!

You're now all set to explore or contribute to Towny ๐ŸŽ‰

About

A fun side project inspired by a youtube video, aiming to recreate a mini version of Zep / Gather Town! ๐ŸŽฎ๐Ÿ‘พ

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published