A modern, full-stack blogging platform with API, dashboard, and SDK.
simplist.blog/
├── apps/
│ ├── api/ # Fastify API server
│ ├── app/ # Next.js dashboard application
│ ├── docs/ # Documentation site
│ └── web/ # Marketing website
├── packages/
│ ├── db/ # Prisma database schema and client
│ ├── limits/ # Plan limits and types
│ ├── sdk/ # TypeScript SDK for the API
│ └── ui/ # Shared UI components (shadcn/ui)
- Node.js 18+
- pnpm 8+
- PostgreSQL database
- Redis (optional, for caching)
- Clone the repository:
git clone https://github.com/Steellgold/simplist.blog.git
cd simplist.blog- Install dependencies:
pnpm install- Set up environment variables:
cp .env.example .env
# Edit .env with your configuration- Set up the database:
pnpm db:pushStart all applications:
pnpm devOr start individual apps:
pnpm --filter @simplist/api run dev # API (port 4000)
pnpm --filter @simplist/app run dev # Dashboard (port 3000)
pnpm --filter @simplist/docs run dev # Docs (port 3001)
pnpm --filter @simplist/web run dev # Website (port 3002)pnpm build # Build all packages
pnpm lint # Lint all packages
pnpm format # Format code with Prettiercd apps/api && pnpm test # Run all testspnpm db:push # Push schema changes (dev)
pnpm db:migrate # Create and apply migrations
pnpm db:studio # Open Prisma Studio- Framework: Next.js 16, React 19
- API: Fastify
- Database: PostgreSQL with Prisma
- Authentication: Better Auth
- UI: shadcn/ui, Tailwind CSS
- Payments: Stripe
- Email: React Email with Resend
- Deployment: Vercel
To add shadcn/ui components:
pnpm dlx shadcn@latest add button -c apps/appComponents are shared from the @simplist/ui package:
import { Button } from "@simplist/ui/components/button";For detailed documentation, see: