A modern full-stack news platform that combines free and premium content, secure subscriptions, role-based publishing, and real-time analytics in a responsive editorial experience.
NewsDaily was built to provide readers with a clean news experience while giving publishers and administrators a centralized system for managing articles, users, subscriptions, and platform activity.
Modern news platforms need to serve two very different needs.
Readers expect a fast, responsive interface where they can discover and read content easily. At the same time, publishers need powerful tools to create and manage articles, control access to premium content, understand user engagement, and manage the platform.
Building these capabilities separately can result in disconnected systems and inconsistent user experiences.
I wanted to build a complete news platform that combines content publishing, premium subscriptions, authentication, role-based access, analytics, and content management into a single application.
I built NewsDaily as a full-stack news platform with separate experiences for readers, publishers, and administrators.
The platform allows users to:
Browse free and premium articles
Create an account using Google or email
Subscribe to premium content
Make secure payments through Stripe
Access content based on subscription status
Read articles through a responsive interface
View dynamic content and recommendations
Publishers and administrators can:
Create and edit articles
Manage published content
Control article visibility
Manage users and roles
Monitor platform activity
Review analytics
Manage premium content
The result is a complete content platform rather than simply a collection of news pages.
NewsDaily follows a client and server architecture with React handling the frontend and a Node.js and Express backend providing the application API.
A simplified architecture looks like:
NewsDaily
│
┌────────────┴────────────┐
│ │
Frontend Backend
React 19 Node.js + Express
│ │
┌────────┼────────┐ │
│ │ │ ▼
Reader Publisher Admin MongoDB
│ │ │ │
└────────┴────────┘ │
│ │
▼ ▼
Firebase Auth API Layer
│ │
└────────────┬────────────┘
│
▼
Stripe PaymentsThis separation keeps the user interface, business logic, authentication, database operations, and payment workflows organized into distinct layers.
Authentication is handled through Firebase Authentication, supporting both Google sign-in and traditional email-based authentication.
This provides users with a familiar authentication experience while reducing the complexity of implementing identity management from scratch.
The platform also uses role-based access control to separate the capabilities of different users.
Readers can:
Browse articles
Read available content
Access premium articles with an active subscription
Manage their account
Publishers can:
Create articles
Edit articles
Manage their own content
Publish news stories
Manage editorial content
Administrators have platform-level access for managing:
Users
Publishers
Articles
Premium content
Platform activity
Analytics
This permission structure ensures that users only access functionality appropriate to their role.
A key feature of NewsDaily is its premium content system.
Instead of treating every article equally, the platform allows publishers to designate content as free or premium.
The subscription workflow works conceptually like this:
Reader
↓
Selects Premium Plan
↓
Stripe Checkout
↓
Payment Confirmation
↓
Subscription Status Updated
↓
Premium Access GrantedStripe handles the payment processing while the application manages the user's subscription state and access permissions.
This creates a clear separation between payment processing and content authorization.
I integrated Stripe to handle secure premium subscription payments.
The payment workflow was designed so that sensitive payment information is handled by Stripe rather than being stored directly within the application's database.
The application is responsible for:
Creating subscription flows
Associating subscriptions with users
Tracking subscription status
Controlling premium content access
This approach reduces the amount of payment-sensitive information handled directly by the application.
NewsDaily includes a CMS-style article management system designed for publishers and administrators.
Articles can be:
Created
Edited
Updated
Published
Managed
Categorized
Marked as premium
The CMS provides publishers with a centralized workspace for managing their editorial content without interacting directly with the database.
The system separates content management from the public reading experience, allowing editorial users to manage articles while readers interact with the published content.
The article lifecycle follows a structured workflow:
Create Article
↓
Add Content
↓
Configure Metadata
↓
Set Access Type
↓
Publish
↓
Available to ReadersThis structure makes it easier to extend the platform with additional editorial features in the future.
NewsDaily includes analytics functionality to help understand how users interact with the platform.
The analytics layer can provide insight into areas such as:
Article engagement
User activity
Content performance
Subscription activity
Platform usage
Rather than relying only on static content pages, the platform incorporates dynamic data to help administrators understand how the application is being used.
NewsDaily was designed to provide a consistent experience across desktop, tablet, and mobile devices.
The interface adapts its layout and content presentation based on screen size, allowing readers to access articles comfortably from different devices.
The frontend also uses AOS animation and scroll effects to add subtle motion throughout the interface.
The animations are designed to support the content hierarchy without interfering with the core reading experience.
The interface was designed around a clean editorial aesthetic with an emphasis on:
Clear typography
Strong content hierarchy
Responsive layouts
Article-focused interfaces
Reusable components
Consistent spacing
Smooth transitions
Interactive content sections
Reusable React components allow common UI elements to remain consistent across different parts of the application.
One of the main challenges was ensuring that different user roles received the correct permissions.
The application needed to distinguish between readers, publishers, and administrators while keeping authorization logic consistent across both the frontend and backend.
The permission flow can be represented as:
Authenticated User
↓
Identify Role
↓
Check Permission
↓
Allow / Reject Action
↓
Return Appropriate ResponseThis required authorization checks at the appropriate application layers rather than relying solely on frontend restrictions.
Another important challenge was preventing users without the required subscription from accessing premium content.
The application checks subscription status before granting access to protected content.
This ensures that premium access is treated as a backend authorization concern rather than simply hiding premium articles from the frontend.
Subscription-based applications need to keep payment status and application state synchronized.
I designed the payment workflow so that Stripe handles the payment process while the application maintains the corresponding subscription information required for authorization.
This creates a clear relationship between:
User
↓
Subscription
↓
Payment Status
↓
Content AccessReact 19
Modern React component architecture
Responsive UI
AOS animations
Node.js
Express.js
REST API architecture
MongoDB
Firebase Authentication
Google Sign-In
Email Authentication
Stripe
NewsDaily became a complete full-stack publishing platform that brings together content management, authentication, premium subscriptions, payments, role-based access, analytics, and responsive content delivery.
The project provided practical experience in building a multi-role application where several independent systems need to work together reliably.
It allowed me to work with:
React application architecture
REST API development
Node.js and Express
MongoDB data modeling
Firebase Authentication
Role-based authorization
Stripe subscription payments
Premium content protection
CMS architecture
Analytics
Responsive UI development
Animation and interaction design
More importantly, NewsDaily demonstrates my ability to build a complete application around a real product model, connecting the reader experience, publishing workflow, authentication system, subscription infrastructure, and backend services into one cohesive platform.
NewsDaily
Type: Full-Stack News & Publishing Platform
Stack: React 19 · Node.js · Express · MongoDB · Firebase · Stripe
Live: news.rijoan.com
Developed by: Md Rijoan Maruf
Visual highlights and interfaces from the project.
