https://github.com/daniyal-abbassi/personal-blog-jamstack-top
Developed a Jamstack personal Blog with a Node.js/Express.js RESTful API, Prisma (PostgreSQL), and JWT authentication. Features two pre-built React (Vite) frontends: an admin panel (shadcn/ui) and a public blog (Material-UI).under-development
https://github.com/daniyal-abbassi/personal-blog-jamstack-top
backend component-architecture expressjs frontend jamstack jwt material-ui nodejs prisma react shadcn-ui
Last synced: 2 months ago
JSON representation
Developed a Jamstack personal Blog with a Node.js/Express.js RESTful API, Prisma (PostgreSQL), and JWT authentication. Features two pre-built React (Vite) frontends: an admin panel (shadcn/ui) and a public blog (Material-UI).under-development
- Host: GitHub
- URL: https://github.com/daniyal-abbassi/personal-blog-jamstack-top
- Owner: daniyal-abbassi
- Created: 2025-04-14T21:56:23.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-08-13T23:07:22.000Z (10 months ago)
- Last Synced: 2025-10-07T03:35:38.302Z (9 months ago)
- Topics: backend, component-architecture, expressjs, frontend, jamstack, jwt, material-ui, nodejs, prisma, react, shadcn-ui
- Language: JavaScript
- Homepage:
- Size: 62.1 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Full-Stack JamStack Blog - TOP
[](https://www.repostatus.org/#wip)
         
A modern blog platform built with Node.js/Express.js **backend** and React frontends, following **JamStack principles**. Features a RESTfull API, PostgreSQL database with Prisma ORM, JWT authentication, and two distinct frontends: an **admin panel** and a **public blog**.

---
## Table of Contents
- [Project Structure](#project-structure)
- [Tech Stack](#tech-stack)
- [Getting Started](#getting-started)
- [Screenshots](#screenshots)
- [Contributing](#contributing)
## Project Structure
```
.
├── backend/ # Node.js API, Prisma schema, etc.
└── frontend/
├── private-client/ # Admin Panel (shadcn/ui)
└── public-client/ # Public Blog (Material-UI)
```
## Tech Stack
- **Backend**
- Node.js
- Express.js
- Prisma
- PostgreSQL
- JWT
- Cloudinary
- **Frontend**
- React (Vite)
- shadcn/ui (Admin)
- Material-UI (Public)
- React Router
- Tailwind CSS (pre-built)
## Getting Started
Follow these steps to run the project locally.
**1. Prerequisites:**
- Node.js
- PostgreSQL
- `npm` or `yarn`
**2. Setup & Configuration:**
- Clone the repository: `git clone https://github.com/your-username/your-repo-name.git`
- Install dependencies in all three directories (`/backend`, `/frontend/public-client`, `/frontend/private-client`):
```bash
npm install
```
- In the `/backend` directory, create a `.env` file and provide your `DATABASE_URL` and `JWT_SECRET`.
- Run database migrations from the `/backend` directory:
```bash
npx prisma migrate dev
```
**3. Run the Application:**
You will need three separate terminal windows to run the full application.
- **Backend Server** (from `/backend`):
```bash
node app.js
```
- **Public Client** (from `/frontend/public-client`):
```bash
npm run dev
```
- **Admin Panel** (from `/frontend/private-client`):
```bash
npm run dev
```
---
## Screenshots






**Admin Panel**

---
## Contributing
Contributions are welcome. Please fork the repository, create a feature branch, and open a pull request. For bugs and feature requests, please open an issue on the repository's "Issues" tab.