https://github.com/tszhong0411/one-blog
A full-stack blog made by tszhong0411
https://github.com/tszhong0411/one-blog
blog drizzle fullstack next-auth next-safe-action nextjs postgresql react zod
Last synced: 8 months ago
JSON representation
A full-stack blog made by tszhong0411
- Host: GitHub
- URL: https://github.com/tszhong0411/one-blog
- Owner: tszhong0411
- License: mit
- Created: 2022-11-19T15:42:07.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-01-30T09:38:31.000Z (8 months ago)
- Last Synced: 2025-01-30T10:28:16.651Z (8 months ago)
- Topics: blog, drizzle, fullstack, next-auth, next-safe-action, nextjs, postgresql, react, zod
- Language: TypeScript
- Homepage: https://one-blog.honghong.me
- Size: 2.09 MB
- Stars: 18
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Tech Stack
| Name | Link |
| ---------------- | ----------------------------------------- |
| Framework | [Next.js](https://nextjs.org/) |
| Deployment | [Vercel](https://vercel.com) |
| Database | [PostgreSQL](https://www.postgresql.org/) |
| ORM | [Drizzle](https://orm.drizzle.team/) |
| Rich Text Editor | [Tiptap](https://tiptap.dev) |
| Icons | [Lucide](https://lucide.dev/) |
| Authentication | [NextAuth](https://next-auth.js.org) |
| Styling | [TailwindCSS](https://tailwindcss.com) |## Features
- **Authentication**: Sign in with Google
- **Rich Text Editor**: Create and edit blog posts with a rich text editor
- **Dark Mode**: Toggle between light and dark mode
- **Like Button**: Like and unlike blog posts
- **Drafts**: Save blog posts as drafts
- **Visibility**: Make blog posts public or private## Getting Started
Follow these steps to run the project locally on your machine:
1. Clone the repository
```bash
git clone https://github.com/tszhong0411/one-blog.git
```2. Navigate to the project directory
```bash
cd one-blog
```3. Install dependencies
```bash
pnpm install
```4. Configure environment variables
Create a `.env.local` file based on the provided `.env.example` file and fill in the necessary variables.
5. Start docker compose
```bash
docker compose up -d
```6. Run the development server
```bash
pnpm dev
```
Made with ❤️ in Hong Kong