Skip to content

EricTurner3/simple-react-rss-reader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple React RSS Reader

alt text A modern RSS reader built with React, TypeScript, and MongoDB.

Setup Options

You can run this application in two ways:

Option 1: Manual Setup (Development)

Prerequisites

  • Node.js 20 or later
  • MongoDB
  • npm or yarn

Steps

  1. Start MongoDB:
mongod
  1. Start the backend:
cd backend
npm install
npm run dev
  1. Start the frontend:
cd frontend
npm install
npm run dev
  1. Open http://localhost:3000 in your browser

Option 2: Docker Setup (Recommended)

Prerequisites

  • Docker
  • Docker Compose

Steps

  1. Build and start all services:
docker-compose up --build
  1. Open http://localhost:3000 in your browser

Stopping the Application

docker-compose down

To remove all data (including the MongoDB volume):

docker-compose down -v

Features

  • Add and manage RSS feeds
  • Organize feeds in folders
  • Mark items as read/unread
  • Dark mode support
  • Drag and drop feed organization
  • Real-time feed updates

API Endpoints

The backend provides the following API endpoints:

  • GET /api/feeds - Get all feeds
  • POST /api/feeds - Create a new feed
  • DELETE /api/feeds/:id - Delete a feed
  • GET /api/folders - Get all folders
  • POST /api/folders - Create a new folder
  • DELETE /api/folders/:id - Delete a folder
  • PUT /api/feeds/:id/folder - Update feed's folder
  • GET /api/feeds/:id/items - Get feed items
  • POST /api/feeds/:id/fetch - Fetch new items for a feed
  • PUT /api/items/:id/read - Mark an item as read

Technologies Used

Frontend

  • React
  • TypeScript
  • Vite
  • Tailwind CSS
  • Framer Motion
  • Shadcn UI

Backend

  • Node.js
  • Express
  • TypeScript
  • MongoDB
  • Mongoose
  • RSS Parser

Development

  • Frontend development server includes hot module replacement
  • Backend development server uses nodemon for automatic reloading
  • TypeScript is used throughout the project for type safety

License

GPL-3.0

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published