A modern article management platform built with Sigment, featuring user authentication, article creation, and a responsive design system.
- ✨ Features
- 🛠️ Tech Stack
- 🚀 Quick Start
- 🛠️ Development
- 🧪 Testing
- 🗄️ Database
- 📁 Project Structure
- 🌐 URLs
- 📚 Documentation
- 👨💻 Author
- 📄 License
- 🯉 Sigment — Fine-grained, signals-based reactivity
- ⚡ Vite — Fast dev server and production bundling
- 📜 TypeScript — Type-safe development
- 🗄️ PostgreSQL — Robust database with Prisma ORM
- 🔐 Authentication — JWT-based user authentication
- 📝 Article Management — Create, read, and manage articles
- 🎨 Responsive Design — Modern UI with custom design system
- 🧪 Testing — Vitest with comprehensive test coverage
- Sigment - Signals-based reactive framework
- Vite - Build tool and dev server
- TypeScript - Type-safe JavaScript
- CSS - Custom design system with CSS variables
- Express.js - Web framework
- TypeScript - Type-safe JavaScript
- JWT - Authentication tokens
- bcrypt - Password hashing
- PostgreSQL - Relational database
- Prisma - Database ORM and migrations
- Prisma Studio - Database GUI
- Vitest - Testing framework
- jsdom - DOM testing environment
- pnpm - Package manager
- Concurrently - Run multiple commands
- Node.js: >= 18.0.0(NB: Works well with v22.13.1)s
- pnpm: >= 9.14.2
- PostgreSQL: Database server
- Clone the repository
git clone <repository-url>
cd sigment-article-hub
- Install dependencies
pnpm install
- Setup environment
Create a
.env
file:
DATABASE_URL="postgresql://username:password@localhost:5432/sigment_articles"
JWT_SECRET="your-super-secret-jwt-key-here"
PORT=3003
NODE_ENV=development
- Setup database
pnpm run db:generate
pnpm run db:migrate
pnpm run db:seed
pnpm run dev:all
Frontend (UI)
pnpm run dev
Backend (Server)
pnpm run server:watch
Production
pnpm run build
pnpm run serve:prod
npx vitest
# Run tests once
pnpm run test:run
# Run tests with UI
pnpm run test:ui
# Generate client
pnpm run db:generate
# Run migrations
pnpm run db:migrate
# Seed database
pnpm run db:seed
# Open Prisma Studio
pnpm run db:studio
# Reset database
pnpm run db:reset
sigment-article-hub/
├── src/
│ ├── components/ # Sigment components
│ ├── assets/css/ # Stylesheets
│ ├── services/ # API and business logic
│ ├── types/ # TypeScript definitions
│ └── router/ # Client-side routing
├── prisma/ # Database schema and migrations
├── api/ # Express.js API routes
└── app.ts # Server entry point
- Frontend: http://localhost:5173
- Backend API: http://localhost:3003
- Prisma Studio: http://localhost:5555
Riley Manda - Full Stack Software Engineer
- 🌐 GitHub: @RileyManda
- 💼 LinkedIn: rileymanda
- 🤔 Stack Overflow: RileyManda git c