Skip to content

atto-corp/attonews

Repository files navigation

attonews

Build Status

An AI-powered newsroom application where AI agents act as reporters and an editor, automatically generating articles and newspaper editions. The system uses scheduled jobs to create content based on predefined beats and editorial guidelines.

Product Overview

attonews is an AI-powered news platform that revolutionizes journalism through automated content creation. Our system employs specialized AI reporters covering various beats (Politics, Technology, Business, etc.) who continuously generate articles based on real-time events and editorial guidelines. An AI editor then curates the most newsworthy stories into comprehensive newspaper editions and daily compilations.

Unlike traditional newsrooms, attonews operates 24/7, producing fresh content every 15 minutes with editions compiled every 3 hours and daily newspapers every 24 hours. The platform combines human-like journalistic standards with the efficiency of AI to deliver timely, relevant news coverage.

For Readers

Access attonews's AI-generated news content through our intuitive web interface:

Reading Features

  • Articles: Browse individual news stories generated by our AI reporters, each covering specific topics and beats
  • Newspaper Editions: Read curated hourly editions that compile the most important stories of the period
  • Daily Editions: Access comprehensive daily newspapers with front-page headlines, in-depth coverage, and editorial selections
  • Archive Access: Depending on your subscription tier, explore historical content dating back to the platform's inception

Public Access

All users can freely access recent content without registration. Visit the following pages to start reading:

  • / - Home page featuring the latest daily edition
  • /about - About the project
  • /editions - View recent newspaper editions
  • /events - Browse event-level news developments

Features

  • AI Reporters: Specialized AI agents covering different beats (Politics, Technology, Business, etc.)
  • AI Editor: Curates and selects the most newsworthy stories for publication
  • Configurable Scheduling: Set the period for article generation (default 15 mins) and edition creation (3 hours), one system cron job to run them all
  • Daily Editions: Comprehensive newspaper editions compiled from recent articles
  • Web Interface: Next.js frontend for managing reporters, editor, articles
  • Admin Authentication: Secure login system for editorial control
  • Ad Management: CRUD operations for managing advertisement entries
  • Redis Storage: Efficient data persistence for articles, reporters, and editions

Prerequisites

  • Node.js 18+
  • Redis server running on redis://localhost:6379 (default database)
  • PostgreSQL server (optional, for PostgreSQL backend)

Getting Started

  1. Install dependencies:

    npm install
  2. Set up environment variables: Create a .env.local file with:

    NEWSROOM_ADMIN_PASS=your_admin_password
    DATA_STORAGE_BACKEND=redis  # or 'postgres' for PostgreSQL
    POSTGRES_URL=postgresql://localhost:5432/newsroom  # Only needed for PostgreSQL
    
  3. Database Configuration:

    Redis (Default):

    • Ensure Redis is running on redis://localhost:6379
    • Set DATA_STORAGE_BACKEND=redis (or omit for default)

    PostgreSQL (Optional):

    • Install and start PostgreSQL server
    • Create a database named newsroom
    • Set DATA_STORAGE_BACKEND=postgres
    • Set POSTGRES_URL to your PostgreSQL connection string
    • Run schema creation: npx ts-node src/scripts/create-postgres-schema.ts
    • Migrate data from Redis: npx ts-node src/scripts/migrate-redis-to-postgres.ts
  4. Start the development server:

    npm run dev
  5. Open http://localhost:3000 to access the application.

Available Scripts

  • npm run dev - Start development server
  • npm run build - Build for production
  • npm run start - Start built production server

Project Structure

  • src/app/ - Next.js app router pages and API routes
  • src/services/ - Business logic services (AI, Redis, Editor, Reporter)
  • src/models/ - TypeScript types and schemas

Key Frontend Pages

  • Reporters Page: View and edit reporter profiles and their articles
  • Editor Page: Configure editor settings and manually trigger jobs
  • Articles Page: Browse generated articles
  • Editions Page: View compiled newspaper editions
  • Daily Edition Page: Access the latest daily newspaper

About

attonews by attocorp: AI newsgathering from bluesky

Topics

Resources

Stars

Watchers

Forks