A global Q&A social network where every question is paid, by PIX or with credits through Stripe.
On Askedly Social Network everyone has a public profile where they receive questions, as on Retrospectiva or NGL, with one difference: whoever asks pays for it. Whoever answers gets part of that amount; if they do not answer in time, the question expires. The product is shown as Askedly in the interface; "Askedly Social Network" is the name of this repository and project.
- Public or anonymous questions, with public or private answers
- Payment by PIX through AbacatePay, confirmed by webhook, withdrawn to the answerer's own PIX key
- Payment with US dollar credits bought by card on Stripe, with automatic payout to the answerer through Stripe Connect
- Interface in English (default), Portuguese and Spanish
- Community feed and a feed of the people you follow, plus a ranking of the most liked answers
- Public or private profiles, with followers, blocks and several privacy options
- Login with email and password or with Google
| Layer | Technology |
|---|---|
| App | Next.js 16 (App Router) + React 19 + TypeScript 7 |
| Data | PostgreSQL + Prisma 7 (SQLite optional for local dev) |
| Auth | NextAuth 4 (credentials + Google) and, optionally, Cloudflare Turnstile |
| Payments | AbacatePay (PIX) and Stripe (credits + Connect) |
| Email and uploads | Resend + React Email, UploadThing |
| UI | Tailwind CSS 4 (CSS-first), Base UI, TanStack Query 5, next-intl |
| Quality | Bun 1.4 (package manager and test runner), Biome, markdownlint, Playwright, Husky + commitlint |
| Deployment | Vercel; CI on GitHub Actions |
Prerequisite: Bun 1.4.2. Pick the script for your system and database; each one installs dependencies, creates .env, prepares the database and runs the seed:
| SQLite (nothing to install) | Postgres already installed | Postgres through Docker | |
|---|---|---|---|
| Windows (Git Bash) | setup-windows-using-sqlite.sh |
setup-windows-using-postgres.sh |
setup-windows-using-postgres-with-docker.sh |
| Linux/macOS | setup-unix-using-sqlite.sh |
setup-unix-using-postgres.sh |
setup-unix-using-postgres-with-docker.sh |
git clone git@github.com:AlexGalhardo/askedly-social-network.git
cd askedly-social-network
bash setups/setup-unix-using-postgres-with-docker.sh # or the script from the table above
bun run devEnvironment variables are documented in .env.example. They are validated at build time (lib/env.ts): a missing essential variable fails the build, a missing optional one only turns its feature off and warns.
Brings up Postgres, migrations, seed and the app, with simulated payments (PIX confirms by itself, fictitious Stripe credits and payouts):
docker compose -f infra/docker-compose.demo.yaml up --buildOpen http://localhost:3000 and sign in with admin@gmail.com / adminBR@123 (panel at /admin). Details in docs/docker.md.
bun run dev # development server
bun run build # production build (needs a reachable Postgres)
bun run lint # Biome (lint + format)
bun run test # unit tests
bun run test:integration # integration against a disposable Postgres
bun run test:e2e # Playwright
bun run prisma:studio # database GUIThe docs/ folder explains the project by area (it is also the context AI agents use, through AGENTS.md):
- Architecture and security rules
- Database
- Authentication
- PIX payments
- Stripe payments (credits and Connect) and how to set up Stripe
- Internationalization
- Emails
- Uploads
- Telegram bot
- Tests and the autonomous QA script
- Deployment and CI/CD and the Vercel deployment walkthrough
- Docker (demo mode)
- Tooling
- Security (OWASP Top 10:2025 audit)
Read CONTRIBUTING.md. Security flaws: SECURITY.md, never in a public issue.
Code, comments, documentation and commit messages are in English. The interface is translated (English by default, Portuguese and Spanish); user content is never translated.
Commits follow Conventional Commits (validated by commitlint) and versioning follows SemVer. Before opening a PR, bun run lint:ci, bun run lint:md, bunx tsc --noEmit, bun run build and the tests must pass: CI blocks on all of them. Notable changes go into CHANGELOG.md.
Created by Alex Galhardo. Distributed under the MIT license.