Skip to content

Steellgold/simplist.blog

Repository files navigation

Simplist Banner

A modern, full-stack blogging platform with API, dashboard, and SDK.

Project Structure

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)

Getting Started

Prerequisites

  • Node.js 18+
  • pnpm 8+
  • PostgreSQL database
  • Redis (optional, for caching)

Installation

  1. Clone the repository:
git clone https://github.com/Steellgold/simplist.blog.git
cd simplist.blog
  1. Install dependencies:
pnpm install
  1. Set up environment variables:
cp .env.example .env
# Edit .env with your configuration
  1. Set up the database:
pnpm db:push

Development

Start all applications:

pnpm dev

Or 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)

Available Scripts

Build & Lint

pnpm build                  # Build all packages
pnpm lint                   # Lint all packages
pnpm format                 # Format code with Prettier

Testing

cd apps/api && pnpm test    # Run all tests

Database

pnpm db:push                # Push schema changes (dev)
pnpm db:migrate             # Create and apply migrations
pnpm db:studio              # Open Prisma Studio

Tech Stack

  • 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

Adding UI Components

To add shadcn/ui components:

pnpm dlx shadcn@latest add button -c apps/app

Components are shared from the @simplist/ui package:

import { Button } from "@simplist/ui/components/button";

Documentation

For detailed documentation, see:

License

Business Source License 1.1

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages