Burogu is a modern blogging platform built with React, TypeScript, and Vite for the frontend, and a Node.js backend.
- Create and manage blog posts
- User authentication
- Responsive design
- Night mode toggle (future feature)
To install and run the backend server:
cd backend
npm install
npm run dev
To deploy the backend, use:
npm run deploy
To install and run the frontend:
cd frontend
npm install
npm run dev
Update the wrangler.toml
file with your environment variables:
name = "backend"
main = "src/index.ts"
compatibility_date = "2025-01-04"
[vars]
DATABASE_URL=""
JWT_SECRET=""
Common folder includes zod types which are accessed by both frontend and backend, published common file package available at https://www.npmjs.com/package/@piyush_007/medium_cl
For production applications, update the configuration to enable type-aware lint rules:
export default tseslint.config({
languageOptions: {
parserOptions: {
project: ['./tsconfig.node.json', './tsconfig.app.json'],
tsconfigRootDir: import.meta.dirname,
},
},
})
Replace tseslint.configs.recommended
with tseslint.configs.recommendedTypeChecked
or tseslint.configs.strictTypeChecked
.
Optionally, add ...tseslint.configs.stylisticTypeChecked
.
Install eslint-plugin-react and update the config:
import react from 'eslint-plugin-react'
export default tseslint.config({
settings: { react: { version: '18.3' } },
plugins: {
react,
},
rules: {
...react.configs.recommended.rules,
...react.configs['jsx-runtime'].rules,
},
})
Contributions are welcome! Please open an issue or submit a pull request.
This project is licensed under the MIT License.