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
towny/
โโโ backend/ # Express + WebSocket + Prisma
โโโ frontend/ # React + Vite
git clone https://github.com/coderomm/Towny.git
cd townycd backend
cp .env.example .env
npm install
npx prisma generate
npm run devBackend & WebSocket: http://localhost:3000
cd ../frontend
npm install
npm run devFrontend: http://localhost:5173
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 devTo avoid CORS issues, ensure vite.config.ts has:
server: {
proxy: {
'/api': 'http://localhost:3000'
}
}You're now all set to explore or contribute to Towny ๐