Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

History

223 Commits

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.

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

AltStyle によって変換されたページ (->オリジナル) /