Deploy-ready mini sosyal medya uygulaması. Vanilla frontend + Express backend + PostgreSQL SQL database.
- Hesap oluşturma, giriş yapma ve token tabanlı oturum
- Profil kartı, bio/avatar düzenleme ve profil istatistikleri
- Gönderi paylaşma, silme, beğenme, yankılama
- Mood rozeti ve 280 karakter composer
- Hashtag algılama + trend API'si
- Akış / popüler / benimkiler filtreleri
- PostgreSQL üzerinde kalıcı SQL veri tabanı
- Otomatik tablo oluşturma + seed data
- Healthcheck:
/health - Docker, Docker Compose, Render config ve GitHub Actions CI hazır
docker compose up --build
# http://localhost:3000Compose iki servis kaldırır:
app: Node/Express web uygulamasıdb: PostgreSQL 16, kalıcı volume ile
SQL'e girmek için:
npm run db:shellÖnce PostgreSQL çalıştır:
docker compose up -d db
npm install
npm run devAlternatif olarak kendi PostgreSQL bağlantını ver:
DATABASE_URL=postgres://user:pass@host:5432/dbname npm startPOST /api/auth/registerbody:{ "name": "Tuna", "handle": "tuna", "password": "secret1" }POST /api/auth/loginbody:{ "handle": "tuna", "password": "secret1" }GET /api/mePUT /api/mebody:{ "name": "Tuna", "avatar": "🐟", "bio": "..." }GET /api/profile/:handleGET /api/posts?filter=all|hot|minePOST /api/postsbody:{ "text": "Selam #mikromeydan", "mood": "⚡" }+Authorization: Bearer <token>POST /api/posts/:id/likebody:{ "liked": true }POST /api/posts/:id/echo+ authDELETE /api/posts/:id+ authGET /api/trendsGET /health
npm testTestler pg-mem ile in-memory SQL database üstünde çalışır.
git clone https://github.com/shellgeistbot/mikromeydan.git
cd mikromeydan
docker compose up -d --buildrender.yaml hazırdır. Render web service + managed PostgreSQL database oluşturacak şekilde ayarlı.
.env.example:
PORT=3000
APP_ORIGIN=*
DATABASE_URL=postgres://mikromeydan:mikromeydan@localhost:5432/mikromeydan
AUTH_SECRET=change-me-in-production