Skip to content

AnchalDevBytes/lekha

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lekha : A Fullstack Blog Application

This is a full-stack blog application that allows users to create, read, and bookmark blog posts. The application features a frontend, backend, and a common folder for shared utilities such as Zod validation.

Features

  • CRUD Operations: Create, Read, bookmark and share blog posts.
  • User Authentication: Secure login and registration system.
  • Type Validation: Consistent type definitions across frontend and backend using Zod and TypeScript.

Screenshots

Homepage

Tech Stack

  • Frontend: Next.js 14, ShadCN, Tailwind CSS
  • Backend: Hono.js, Cloudflare
  • Database: Prisma ORM, PostgreSQL
  • Deployment: Vercel (Frontend), Cloudflare (Backend)
  • Type Validation: Zod, TypeScript

Installation and Setup

Prerequisites

  • Node.js (v20 or later)
  • PostgreSQL

Backend Setup

  1. Fork and then Clone the repository:

     git clone https://github.com/AnchalDevBytes/lekha.git
     cd lekha
  2. Install dependencies: frontend & backend

    cd backend
    npm install
    
    cd frontend
    npm install
  3. Set up the database:

    • Create a PostgreSQL and a Prisma accelerate database URL and update the DATABASE_URL with prisma accelerate and DIRECT_URL with postgresql url, in the .env file of backend.
    • In the frontend .env just paste the backend server url example http://localhost:8787
  4. Run database migrations:

    npx prisma migrate dev --name name_of_migration
    npx prisma generate --no-engine
  5. Start the backend server:

    npm run dev

Type Validation

This project follows an older approach of creating a common Zod module for both frontend and backend. This approach ensures that type validation for forms and APIs is consistent across the application.

Releases

No releases published

Packages

No packages published