Skip to content

Muhammedijas981/feedforge

Repository files navigation

Personalized Content Dashboard

A dynamic, user-centric dashboard for tracking and interacting with personalized content—news, recommendations, and social posts—in a modern, engaging interface. Built as part of a Software Development Engineer (SDE) Intern - Frontend Development Assignment.

Live Demo

https://feedforge-lac.vercel.app/

Project Overview

This project is a feature-rich, interactive dashboard that aggregates content from multiple sources and empowers users to customize their experience. It demonstrates advanced frontend architecture, state management, API integration, and UI/UX best practices using React, Next.js, TypeScript, and Redux Toolkit.

Core Features

  • Personalized Content Feed

    • Users can configure their favorite categories (e.g., technology, sports, finance) via a settings panel.
    • Preferences are persisted using Redux Toolkit and localStorage.
    • Fetches personalized news (NewsAPI), recommendations (e.g., TMDB/Spotify), and social posts (mock or real API).
  • Interactive Content Cards

    • Each content piece is displayed as a card with images, headlines, descriptions, and actions ("Read More", "Play Now").
    • Infinite scrolling or pagination for efficient browsing.
  • User Dashboard Layout

    • Responsive layout with sidebar navigation and a top header (search bar, user settings, account info).
    • Unified feed for news, recommendations, and social posts.
    • Trending section for top items by category.
    • Favorites section for user-marked content.
  • Search Functionality

    • Search bar to find content across all categories.
    • Debounced search for performance.
  • Advanced UI/UX

    • Drag-and-drop to reorder content cards (React DnD/Framer Motion).
    • Dark mode toggle (Tailwind CSS, CSS custom properties).
    • Smooth transitions, loading spinners, and card hover effects (Framer Motion/CSS animations).
  • State Management & Logic

    • Global state with Redux Toolkit.
    • Async data fetching with Redux Thunks or RTK Query.
    • User preferences and session data persisted with localStorage or Redux Persist.

Tech Stack

  • React
  • Next.js
  • TypeScript
  • Redux Toolkit
  • Tailwind CSS
  • shadcn-ui
  • Framer Motion (animations, drag-and-drop)
  • RTK Query / Redux Thunks (API integration)
  • Jest/React Testing Library (testing)

Getting Started

Prerequisites

  • Node.js (v16+ recommended)
  • npm or bun

Installation

# Clone the repository
git clone https://github.com/yourusername/feedforge.git
cd feedforge

# Install dependencies
npm install
# or
bun install

Running Locally

npm run dev
# or
bun run dev

Open your browser to http://localhost:3000 (or the port shown in your terminal).

Testing

npm run test

Contributing

Contributions are welcome! Please open an issue or submit a pull request if you have suggestions or improvements.

License

This project is licensed under the MIT License.

About

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages