Skip to content

An Express + Vite–powered news and trends aggregator that helps you stay informed without endless scrolling. Users can subscribe to topics they care about and get a curated feed of recent content from across the web.

Notifications You must be signed in to change notification settings

bjarkividars/pulse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Pulse

A news and trend aggregator designed to help you stay informed without the endless scrolling. Subscribe to topics you care about and get a curated feed of recent content from across the web.

Features

  • Topic-based subscriptions - Choose what matters to you
  • Aggregated feed - Content from multiple sources in one place
  • Type-safe API - Full TypeScript type safety between frontend and backend
  • Modular ingestion - Easily add new content sources
  • Automatic updates - Hourly cron job keeps your feed fresh
  • Clean, minimal design - Focus on content, not distractions

Tech Stack

  • Frontend: React, Vite, TailwindCSS, React Query
  • Backend: Node.js, Express, Prisma, PostgreSQL
  • Shared: ts-rest for type-safe API contracts
  • Ingestion: Modular fetcher system (Reddit, more coming soon)

Getting Started

Prerequisites

  • Node.js 18+
  • PostgreSQL database
  • npm or pnpm

Setup

  1. Install dependencies
# Root packages
npm install

# Shared package
cd shared && npm install && npm run build

# Backend
cd ../backend && npm install

# Frontend
cd ../frontend && npm install
  1. Configure environment

Create .env in backend/:

DATABASE_URL="postgresql://user:password@localhost:5432/pulse"
PORT=4000
NODE_ENV=development
  1. Database setup
cd backend
npx prisma migrate dev
npx prisma db seed
  1. Run the app
# Backend (from backend/)
npm run dev

# Frontend (from frontend/)
npm run dev

# Cron job (optional, from backend/)
npm run cron

Visit http://localhost:5173 for the frontend and http://localhost:4000 for the API.

Project Structure

pulse/
├── frontend/          # React application
├── backend/           # Express API server
├── shared/            # Shared TypeScript types and API contracts
└── README.md

See individual README files in each directory for more details.

Development

  • Backend runs on http://localhost:4000
  • Frontend runs on http://localhost:5173
  • Hot reload enabled for both

License

MIT

About

An Express + Vite–powered news and trends aggregator that helps you stay informed without endless scrolling. Users can subscribe to topics they care about and get a curated feed of recent content from across the web.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages