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
.envfile:
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:seedpnpm run dev:allFrontend (UI)
pnpm run devBackend (Server)
pnpm run server:watchProduction
pnpm run build
pnpm run serve:prodnpx 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:resetsigment-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