Skip to content

Yobubble/block-web-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Blog Web Application (Block)

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. 😅

Tech Stack

  • Languages Used: GO, Typescript
  • Frontend Frameworks: React.js, Next.js, Shadcn/ui, TailwindCSS
  • Backend Frameworks: GO Fiber, GORM
  • Database: Postgres (Docker)

Project Structure

  • Architecture: Clean Architecture

Setup Instructions

  1. Run Docker Compose to start the mock PostgreSQL server.

  2. 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
  3. Configure server environment variables in .env:

    • JWT_SECRET
    • SENDER_EMAIL
    • GOOGLE_APP_PASSWORD
  4. Customize mock data in the migrations folder (note that this is just mock data).

API Documentation

Find the API documentation on Postman.

Running the Application

  1. Ensure the PostgreSQL container is running.
  2. Backend:
    cd backend
    go run cmd/block/block.go
  3. Frontend:
    cd frontend
    npm install
    npm run dev

Features Included

  • 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

Preview

Landing Page

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages