This is the frontend client of My Blog.
- Frontend Framework: Next.js 13+
- Styling: Tailwind CSS with DaisyUI
- State Management: Zustand
- Form Handling: React Hook Form with Zod validation
- Rich Text Editor: Editor.js
- Authentication: Custom JWT-based auth
- Data Fetching: TanStack Query
- UI Components: Radix UI, Shadcn/ui
- Deployment: Vercel
- Node.js 18.0.0 or later
- Bun (recommended) or npm
- Git
git clone https://github.com/Complexlity/blog-client.git
cd blog-clientUsing Bun (recommended):
bun installOr using npm:
npm installCreate a .env file in the root directory and add the following variables:
cp .env.sample .envAdd Upload thing env variables:
UPLOADTHING_SECRET=<https://uploadthing.com/>
UPLOADTHING_APP_ID=https://uploadthing.com/>bun dev
# or
npm run devOpen http://localhost:3000 with your browser to see the result.
blog-client/
├── public/ # Static files
│ └── fonts/ # Custom fonts
├── src/
│ ├── app/ # App router pages
│ │ ├── api/ # API routes
│ │ ├── create/ # Blog post creation page
│ │ ├── login/ # Login page
│ │ ├── posts/ # Blog posts pages
│ │ └── signup/ # Signup page
│ ├── Components/ # Reusable UI components
│ │ ├── renderers/ # Editor.js renderers
│ │ └── ui/ # UI components
│ ├── Contexts/ # React contexts
│ ├── hooks/ # Custom React hooks
│ ├── lib/ # Utility functions
│ ├── store/ # State management
│ └── styles/ # Global styles
├── .eslintrc.json # ESLint configuration
├── next.config.js # Next.js configuration
├── package.json # Project dependencies
└── tailwind.config.js # Tailwind CSS configuration
bun devornpm run dev- Start the development serverbun buildornpm run build- Create an optimized production buildbun startornpm start- Start the production serverbun lintornpm run lint- Run ESLint
This frontend works with the Complexlity Blog API. Make sure to set up and run the backend server for full functionality.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
