Skip to content

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

Notifications You must be signed in to change notification settings

daniyal-abbassi/Personal-Blog-Jamstack-TOP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Full-Stack JamStack Blog - TOP

Project Status: WIP – Initial development is in progress, but there has not yet been a stable, usable release suitable for the public. Node.js Express.js PostgreSQL Prisma JWT React Vite Material-UI shadcn/ui Tailwind CSS

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.

Posts

Table of Contents

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):
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:
    npx prisma migrate dev

3. Run the Application:

You will need three separate terminal windows to run the full application.

  • Backend Server (from /backend):
    node app.js
  • Public Client (from /frontend/public-client):
    npm run dev
  • Admin Panel (from /frontend/private-client):
    npm run dev

Screenshots

Main Page/Dark Main Page/Light Latest Section Admin Panel Single Post Sign-up/Sign-in

Admin Panel Admin Panel GIF

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.

About

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

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages