A simple blog web application inspired by Medium.
Author's Note
This is one of my practice projects to expand my knowledge of GO and overall > web application. Therefore, I apologize for any mistakes. 😅
- Languages Used: GO, Typescript
- Frontend Frameworks: React.js, Next.js, Shadcn/ui, TailwindCSS
- Backend Frameworks: GO Fiber, GORM
- Database: Postgres (Docker)
- Architecture: Clean Architecture
-
Run Docker Compose to start the mock PostgreSQL server.
-
Customize server and database configuration (optional):
# backend/config.yaml app: server: port: 7070 # server port database: host: localhost port: 5432 user: myuser # database user password: mypassword # database password dbname: mydb # database name sslmode: disable
-
Configure server environment variables in
.env
:JWT_SECRET
SENDER_EMAIL
GOOGLE_APP_PASSWORD
-
Customize mock data in the migrations folder (note that this is just mock data).
Find the API documentation on Postman.
- Ensure the PostgreSQL container is running.
- Backend:
cd backend go run cmd/block/block.go
- Frontend:
cd frontend npm install npm run dev
- Create, Read, Update, Delete Blog
- Real-time like count and status
- Sign In, Sign Up with JWT for Authentication and Authorization
- Password Reset (Email Verification Code)
- Profile Search
- Tag Search
- Profile Image Change