An open API service indexing awesome lists of open source software.

https://github.com/rikon07/the-dailycommit

A modern, fullstack Computer Science news platform for developers, by developers.
https://github.com/rikon07/the-dailycommit

admin-dashboard firebase javascript jwt react stripe-payments tailwindcss

Last synced: about 2 months ago
JSON representation

A modern, fullstack Computer Science news platform for developers, by developers.

Awesome Lists containing this project

README

          

# πŸ“° The Daily Commit

A modern, fullstack Computer Science news platform for developers, by developers.
Built with React, Tailwind CSS, Express, MongoDB, Firebase Auth, Stripe, and more.

---

[![React](https://img.shields.io/badge/React-20232A?style=for-the-badge&logo=react&logoColor=61DAFB)](https://react.dev/)
[![TailwindCSS](https://img.shields.io/badge/TailwindCSS-0ea5e9?style=for-the-badge&logo=tailwindcss&logoColor=white)](https://tailwindcss.com/)
[![Firebase](https://img.shields.io/badge/Firebase-FFCA28?style=for-the-badge&logo=firebase&logoColor=white)](https://firebase.google.com/)
[![Vite](https://img.shields.io/badge/Vite-646CFF?style=for-the-badge&logo=vite&logoColor=white)](https://vitejs.dev/)
[![Deployed](https://img.shields.io/badge/Live-Demo-10B981?style=for-the-badge&logo=vercel&logoColor=white)](https://the-daily-commit-c5e84.web.app/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge)](https://opensource.org/licenses/MIT)

---

## πŸš€ Live Site

[https://the-daily-commit-c5e84.web.app/](https://the-daily-commit-c5e84.web.app/)

---

## πŸ‘€ Admin Login

- **Username:** `rik.shelby@gmail.com`
- **Password:** `@Shelby12345`

---

## ✨ Features

- πŸ”’ **JWT Auth with Firebase** (localStorage, no cookies)
- πŸ“° **Trending Articles** slider (by views)
- 🏷️ **Filter & Search** by publisher, tags, and title
- πŸ† **Premium Plan:** Unlimited posts, premium articles, priority review
- πŸ“ **Normal Plan:** 1 post limit, access to all approved articles
- πŸ“ˆ **Statistics:** User and article analytics with animated counters
- 🌍 **Tech News Map:** Interactive map of news locations in Bangladesh
- πŸ… **Top Contributors:** Most active writers highlighted
- 🏒 **All Publishers:** Marquee slider of publisher logos
- πŸ“Š **Admin Dashboard:** User management, article approval, publisher management, charts
- πŸ’³ **Stripe Payments:** Secure premium subscription
- πŸ§‘β€πŸ’» **Profile Management:** Update name, photo, and more
- πŸ›‘οΈ **Role-based Access:** Admin, premium, and normal user flows
- πŸ“± **Fully Responsive:** Mobile, tablet, and desktop
- 🎨 **Dark/Light Mode:** Theme toggle everywhere
- 🟦 **GSAP Animations:** Playful, professional UI transitions

---

## πŸ”₯ More

- πŸ” Secure Firebase Authentication (Email/Pass + Google)
- 🌐 Fully Responsive Layout
- πŸ’¬ SweetAlert2 Feedback for User Actions
- 🎞️ Carousel + Animated Banner Section
- πŸŒ™ Light & Dark Mode Support
- πŸ“ Protected Routes
- 🧭 Scroll-based Navbar Transparency
- πŸ“Š Rating Stars, Skeleton Loaders & Tooltips
- ⚑ Fast loading with Vite + Lazy loading

---

## 🧠 Tech Stack

| Layer | Tech Used |
|--------------|-----------|
| **Frontend** | React, React Router, Tailwind CSS |
| **Backend** | Express.js, MongoDB, Firebase Admin, Stripe, CORS |
| **Auth** | Firebase Authentication |
| **Hosing** | Firebase Hosting, Backend on Vercel |
| **Packages** | Framer Motion, Swiper, React Query, React Leaflet, React Select, React Loading Skeleton, SweetAlert2, Stripe.js |

---

## Folder Structure

β”œβ”€β”€ public
└── vite.svg
β”œβ”€β”€ src
β”œβ”€β”€ App.css
β”œβ”€β”€ App.jsx
β”œβ”€β”€ Components
β”‚ β”œβ”€β”€ Dashboard Components
β”‚ β”‚ β”œβ”€β”€ DashboardNavbar.jsx
β”‚ β”‚ β”œβ”€β”€ DashboardSidebar.jsx
β”‚ β”‚ └── Pagination.jsx
β”‚ β”œβ”€β”€ Extra Components
β”‚ β”‚ β”œβ”€β”€ Error.jsx
β”‚ β”‚ β”œβ”€β”€ GlowingCard.jsx
β”‚ β”‚ β”œβ”€β”€ Loader.jsx
β”‚ β”‚ β”œβ”€β”€ Pagination.jsx
β”‚ β”‚ β”œβ”€β”€ SubscriptionWrapper.jsx
β”‚ β”‚ └── ThemeToggle.jsx
β”‚ └── Home Components
β”‚ β”‚ β”œβ”€β”€ AllPublisher.jsx
β”‚ β”‚ β”œβ”€β”€ Banner.jsx
β”‚ β”‚ β”œβ”€β”€ BentoFeatures.jsx
β”‚ β”‚ β”œβ”€β”€ ContactUs.jsx
β”‚ β”‚ β”œβ”€β”€ Faq.jsx
β”‚ β”‚ β”œβ”€β”€ Features.jsx
β”‚ β”‚ β”œβ”€β”€ Footer.jsx
β”‚ β”‚ β”œβ”€β”€ HomeModal.jsx
β”‚ β”‚ β”œβ”€β”€ Navbar.jsx
β”‚ β”‚ β”œβ”€β”€ Plans.jsx
β”‚ β”‚ β”œβ”€β”€ ResourceLibrary.jsx
β”‚ β”‚ β”œβ”€β”€ Statistics.jsx
β”‚ β”‚ β”œβ”€β”€ TechNewsMap.jsx
β”‚ β”‚ β”œβ”€β”€ TopContributors.jsx
β”‚ β”‚ └── TrendingArticles.jsx
β”œβ”€β”€ Firebase
β”‚ └── firebase.config.js
β”œβ”€β”€ Hooks
β”‚ β”œβ”€β”€ Axios.jsx
β”‚ β”œβ”€β”€ UseAuth.jsx
β”‚ β”œβ”€β”€ useAdmin.jsx
β”‚ └── useAxiosSecure.jsx
β”œβ”€β”€ Layouts
β”‚ β”œβ”€β”€ AuthLayout.jsx
β”‚ β”œβ”€β”€ Dashboard.jsx
β”‚ └── MainLayout.jsx
β”œβ”€β”€ Pages
β”‚ β”œβ”€β”€ Authentication Pages
β”‚ β”‚ β”œβ”€β”€ Login.jsx
β”‚ β”‚ β”œβ”€β”€ Profile.jsx
β”‚ β”‚ └── Register.jsx
β”‚ β”œβ”€β”€ Dashboard Pages
β”‚ β”‚ β”œβ”€β”€ AddPublisher.jsx
β”‚ β”‚ β”œβ”€β”€ AllArticles.jsx
β”‚ β”‚ β”œβ”€β”€ AllUsers.jsx
β”‚ β”‚ └── DashboardHome.jsx
β”‚ └── Home pages
β”‚ β”‚ β”œβ”€β”€ AddArticles.jsx
β”‚ β”‚ β”œβ”€β”€ AllArticle.jsx
β”‚ β”‚ β”œβ”€β”€ ArticleDetails.jsx
β”‚ β”‚ β”œβ”€β”€ Home.jsx
β”‚ β”‚ β”œβ”€β”€ MyArticles.jsx
β”‚ β”‚ β”œβ”€β”€ PremiumArticles.jsx
β”‚ β”‚ β”œβ”€β”€ Subscription.jsx
β”‚ β”‚ └── UpdateArticle.jsx
β”œβ”€β”€ Providers
β”‚ β”œβ”€β”€ AdminRoute.jsx
β”‚ β”œβ”€β”€ AuthProvider.jsx
β”‚ β”œβ”€β”€ Contexts.jsx
β”‚ └── Private.jsx
β”œβ”€β”€ Routes
β”‚ └── Routes.jsx
β”œβ”€β”€ assets
β”‚ β”œβ”€β”€ Animations
β”‚ β”‚ └── Animation - Error.json
β”‚ β”œβ”€β”€ DC_logo.png
β”‚ β”œβ”€β”€ Font
β”‚ β”‚ β”œβ”€β”€ EireneSans-Regular.otf
β”‚ β”‚ β”œβ”€β”€ SFPRODISPLAYREGULAR.OTF
β”‚ β”‚ └── ciguatera.otf
β”‚ └── react.svg
β”œβ”€β”€ index.css
└── main.jsx
β”œβ”€β”€index.html
β”œβ”€β”€ package.json
β”œβ”€β”€ tailwind.config.js
└── vite.config.js
β”œβ”€β”€ .firebase
└── hosting.ZGlzdA.cache
β”œβ”€β”€ .firebaserc
β”œβ”€β”€ .gitignore
β”œβ”€β”€ README.md
β”œβ”€β”€ eslint.config.js
β”œβ”€β”€ firebase.json