https://github.com/hdviettt/hoangducviet.com
My personal blog built with Typescript - a full CMS system with admin page, WYSIWYG editor, media hosting on Cloudflare R2
https://github.com/hdviettt/hoangducviet.com
blog cms typescript
Last synced: about 1 month ago
JSON representation
My personal blog built with Typescript - a full CMS system with admin page, WYSIWYG editor, media hosting on Cloudflare R2
- Host: GitHub
- URL: https://github.com/hdviettt/hoangducviet.com
- Owner: hdviettt
- Created: 2025-09-01T22:06:38.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2026-05-29T05:45:05.000Z (about 1 month ago)
- Last Synced: 2026-05-29T06:12:26.036Z (about 1 month ago)
- Topics: blog, cms, typescript
- Language: TypeScript
- Homepage: https://hoangducviet.work
- Size: 4.15 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Personal Blog
A personal blog built with Next.js 14 and Directus CMS.
## Tech Stack
- **Framework**: Next.js 14 (App Router)
- **CMS**: Directus
- **Styling**: Tailwind CSS, Radix UI
- **Linting**: Biome
- **Analytics**: PostHog, Google Analytics
- **Deployment**: Railway
## Getting Started
### Prerequisites
- Node.js 18+
- npm
### Installation
```bash
npm install
```
### Development
```bash
npm run dev
```
Open [http://localhost:3000](http://localhost:3000) in your browser.
### Build
```bash
npm run build
npm run start
```
## Scripts
| Command | Description |
|---------|-------------|
| `npm run dev` | Start development server |
| `npm run build` | Build for production |
| `npm run start` | Start production server |
| `npm run lint` | Run Biome linter |
| `npm run format` | Format code with Biome |
## Project Structure
```
src/
├── app/ # Next.js App Router pages
├── components/ # React components
├── lib/ # Data fetching and utilities
└── types/ # TypeScript definitions
```
## License
Private