├── .gitignore ├── CLAUDE.md ├── CRUSH.md ├── LICENSE ├── README.md ├── client ├── .env ├── .gitignore ├── Dockerfile ├── DockerfileProd ├── README.md ├── eslint.config.js ├── index.html ├── package-lock.json ├── package.json ├── public │ ├── favicon-32x32.png │ ├── favicon.ico │ ├── favicon.svg │ ├── go-chat-logo.png │ └── vite.svg ├── src │ ├── App.tsx │ ├── api │ │ ├── auth.ts │ │ ├── rooms.ts │ │ └── stats.ts │ ├── assets │ │ └── react.svg │ ├── components │ │ ├── Header.tsx │ │ ├── MessageBubble.tsx │ │ ├── Protected.tsx │ │ ├── Toast.tsx │ │ └── UserProfile.tsx │ ├── context │ │ ├── AuthContext.tsx │ │ └── ToastContext.tsx │ ├── hooks │ │ └── useChatSocket.ts │ ├── index.css │ ├── main.tsx │ ├── pages │ │ ├── AboutPage.tsx │ │ ├── ChatPage.tsx │ │ ├── LoginPage.tsx │ │ ├── PrivacyPage.tsx │ │ ├── ProfilePage.tsx │ │ ├── RoomPage.tsx │ │ ├── SignupPage.tsx │ │ └── TermsPage.tsx │ ├── utils │ │ └── timeUtils.ts │ └── vite-env.d.ts ├── tsconfig.app.json ├── tsconfig.json ├── tsconfig.node.json └── vite.config.ts ├── docker-compose-prod.yml ├── docker-compose.yml └── server ├── .gitignore ├── Dockerfile ├── DockerfileProd ├── db ├── db.go └── migrations │ ├── 0001_users.sql │ ├── 0002_rooms_and_messages.sql │ ├── 0003_add_creator_id_to_rooms.sql │ ├── 0004_add_pinned_rooms.sql │ ├── 0005_user_stats_and_achievements.sql │ └── migrate.go ├── go.mod ├── go.sum ├── internal ├── api │ ├── handler │ │ ├── core │ │ │ └── core.go │ │ ├── stats │ │ │ └── stats.go │ │ └── user │ │ │ └── user.go │ └── model │ │ ├── core.go │ │ └── user.go ├── filter │ └── profanity.go ├── repo │ ├── room │ │ └── room.go │ ├── stats │ │ └── stats.go │ └── user │ │ └── user.go ├── service │ ├── pinnedrooms │ │ └── pinnedrooms.go │ ├── stats │ │ └── stats.go │ ├── topics │ │ └── topics.go │ └── user │ │ └── user.go └── ws │ ├── client.go │ └── core.go ├── main.go ├── middleware └── auth.go ├── router └── router.go └── util ├── cookies.go ├── env.go ├── password.go └── response.go /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/.gitignore -------------------------------------------------------------------------------- /CLAUDE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/CLAUDE.md -------------------------------------------------------------------------------- /CRUSH.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/CRUSH.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/README.md -------------------------------------------------------------------------------- /client/.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/.env -------------------------------------------------------------------------------- /client/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/.gitignore -------------------------------------------------------------------------------- /client/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/Dockerfile -------------------------------------------------------------------------------- /client/DockerfileProd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/DockerfileProd -------------------------------------------------------------------------------- /client/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/README.md -------------------------------------------------------------------------------- /client/eslint.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/eslint.config.js -------------------------------------------------------------------------------- /client/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/index.html -------------------------------------------------------------------------------- /client/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/package-lock.json -------------------------------------------------------------------------------- /client/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/package.json -------------------------------------------------------------------------------- /client/public/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/public/favicon-32x32.png -------------------------------------------------------------------------------- /client/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/public/favicon.ico -------------------------------------------------------------------------------- /client/public/favicon.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/public/favicon.svg -------------------------------------------------------------------------------- /client/public/go-chat-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/public/go-chat-logo.png -------------------------------------------------------------------------------- /client/public/vite.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/public/vite.svg -------------------------------------------------------------------------------- /client/src/App.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/src/App.tsx -------------------------------------------------------------------------------- /client/src/api/auth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/src/api/auth.ts -------------------------------------------------------------------------------- /client/src/api/rooms.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/src/api/rooms.ts -------------------------------------------------------------------------------- /client/src/api/stats.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/src/api/stats.ts -------------------------------------------------------------------------------- /client/src/assets/react.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/src/assets/react.svg -------------------------------------------------------------------------------- /client/src/components/Header.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/src/components/Header.tsx -------------------------------------------------------------------------------- /client/src/components/MessageBubble.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/src/components/MessageBubble.tsx -------------------------------------------------------------------------------- /client/src/components/Protected.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/src/components/Protected.tsx -------------------------------------------------------------------------------- /client/src/components/Toast.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/src/components/Toast.tsx -------------------------------------------------------------------------------- /client/src/components/UserProfile.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/src/components/UserProfile.tsx -------------------------------------------------------------------------------- /client/src/context/AuthContext.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/src/context/AuthContext.tsx -------------------------------------------------------------------------------- /client/src/context/ToastContext.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/src/context/ToastContext.tsx -------------------------------------------------------------------------------- /client/src/hooks/useChatSocket.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/src/hooks/useChatSocket.ts -------------------------------------------------------------------------------- /client/src/index.css: -------------------------------------------------------------------------------- 1 | @import "tailwindcss"; 2 | -------------------------------------------------------------------------------- /client/src/main.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/src/main.tsx -------------------------------------------------------------------------------- /client/src/pages/AboutPage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/src/pages/AboutPage.tsx -------------------------------------------------------------------------------- /client/src/pages/ChatPage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/src/pages/ChatPage.tsx -------------------------------------------------------------------------------- /client/src/pages/LoginPage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/src/pages/LoginPage.tsx -------------------------------------------------------------------------------- /client/src/pages/PrivacyPage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/src/pages/PrivacyPage.tsx -------------------------------------------------------------------------------- /client/src/pages/ProfilePage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/src/pages/ProfilePage.tsx -------------------------------------------------------------------------------- /client/src/pages/RoomPage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/src/pages/RoomPage.tsx -------------------------------------------------------------------------------- /client/src/pages/SignupPage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/src/pages/SignupPage.tsx -------------------------------------------------------------------------------- /client/src/pages/TermsPage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/src/pages/TermsPage.tsx -------------------------------------------------------------------------------- /client/src/utils/timeUtils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/src/utils/timeUtils.ts -------------------------------------------------------------------------------- /client/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /client/tsconfig.app.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/tsconfig.app.json -------------------------------------------------------------------------------- /client/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/tsconfig.json -------------------------------------------------------------------------------- /client/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/tsconfig.node.json -------------------------------------------------------------------------------- /client/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/client/vite.config.ts -------------------------------------------------------------------------------- /docker-compose-prod.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/docker-compose-prod.yml -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /server/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/.gitignore -------------------------------------------------------------------------------- /server/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/Dockerfile -------------------------------------------------------------------------------- /server/DockerfileProd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/DockerfileProd -------------------------------------------------------------------------------- /server/db/db.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/db/db.go -------------------------------------------------------------------------------- /server/db/migrations/0001_users.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/db/migrations/0001_users.sql -------------------------------------------------------------------------------- /server/db/migrations/0002_rooms_and_messages.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/db/migrations/0002_rooms_and_messages.sql -------------------------------------------------------------------------------- /server/db/migrations/0003_add_creator_id_to_rooms.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/db/migrations/0003_add_creator_id_to_rooms.sql -------------------------------------------------------------------------------- /server/db/migrations/0004_add_pinned_rooms.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/db/migrations/0004_add_pinned_rooms.sql -------------------------------------------------------------------------------- /server/db/migrations/0005_user_stats_and_achievements.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/db/migrations/0005_user_stats_and_achievements.sql -------------------------------------------------------------------------------- /server/db/migrations/migrate.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/db/migrations/migrate.go -------------------------------------------------------------------------------- /server/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/go.mod -------------------------------------------------------------------------------- /server/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/go.sum -------------------------------------------------------------------------------- /server/internal/api/handler/core/core.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/internal/api/handler/core/core.go -------------------------------------------------------------------------------- /server/internal/api/handler/stats/stats.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/internal/api/handler/stats/stats.go -------------------------------------------------------------------------------- /server/internal/api/handler/user/user.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/internal/api/handler/user/user.go -------------------------------------------------------------------------------- /server/internal/api/model/core.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/internal/api/model/core.go -------------------------------------------------------------------------------- /server/internal/api/model/user.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/internal/api/model/user.go -------------------------------------------------------------------------------- /server/internal/filter/profanity.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/internal/filter/profanity.go -------------------------------------------------------------------------------- /server/internal/repo/room/room.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/internal/repo/room/room.go -------------------------------------------------------------------------------- /server/internal/repo/stats/stats.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/internal/repo/stats/stats.go -------------------------------------------------------------------------------- /server/internal/repo/user/user.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/internal/repo/user/user.go -------------------------------------------------------------------------------- /server/internal/service/pinnedrooms/pinnedrooms.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/internal/service/pinnedrooms/pinnedrooms.go -------------------------------------------------------------------------------- /server/internal/service/stats/stats.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/internal/service/stats/stats.go -------------------------------------------------------------------------------- /server/internal/service/topics/topics.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/internal/service/topics/topics.go -------------------------------------------------------------------------------- /server/internal/service/user/user.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/internal/service/user/user.go -------------------------------------------------------------------------------- /server/internal/ws/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/internal/ws/client.go -------------------------------------------------------------------------------- /server/internal/ws/core.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/internal/ws/core.go -------------------------------------------------------------------------------- /server/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/main.go -------------------------------------------------------------------------------- /server/middleware/auth.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/middleware/auth.go -------------------------------------------------------------------------------- /server/router/router.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/router/router.go -------------------------------------------------------------------------------- /server/util/cookies.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/util/cookies.go -------------------------------------------------------------------------------- /server/util/env.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/util/env.go -------------------------------------------------------------------------------- /server/util/password.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/util/password.go -------------------------------------------------------------------------------- /server/util/response.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melkeydev/yappr/HEAD/server/util/response.go --------------------------------------------------------------------------------