Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📣 SayOut — Minimal Micro Twitter Clone

License Build Go Backend Frontend Docker Made with ❤️


SayOut is a lightweight micro social network where you can Say Out your thoughts — either to the public or just to your friends. Designed for minimal resources with blazing fast performance.


🚀 Features

  • ✨ Dual-Mode "Says"
    Public Says — Share with everyone
    Private Says — Only friends or extended circles
  • ⚡ Minimal, fast UI (no SPA bloat)
  • 🗄️ Embedded SQLite database
  • 🔒 JWT Authentication
  • 🌐 Easy deployment via Docker + Caddy
  • 🌓 Dark/Light theme support
  • 🔄 Real-time updates with HTMX
  • 👥 User profiles and friend system

🛠️ Tech Stack

  • Backend: Go + Fiber
  • Frontend: HTMX + TailwindCSS
  • Database: SQLite
  • Auth: JWT + bcrypt
  • Deploy: Docker + Caddy Server

📂 Project Structure

SayOut/
├── backend/
│   ├── main.go           # Main application entry
│   ├── models/           # Database models
│   │   └── models.go     # User, Say, and Friend models
│   ├── auth/             # Authentication
│   │   └── auth.go       # JWT and password handling
│   └── handlers/         # API handlers
│       └── handlers.go   # Route handlers
├── frontend/
│   ├── index.html        # Main page
│   ├── login.html        # Login page
│   ├── register.html     # Registration page
│   ├── templates/        # HTML templates
│   │   └── say.html      # Say template
│   └── css/
│       └── styles.css    # Custom styles
├── database/
│   └── schema.sql        # Database schema
├── assets/               # Static assets
├── Dockerfile           # Backend container
├── docker-compose.yml   # Service definitions
├── Caddyfile           # Reverse proxy config
└── README.md

🚧 Installation & Run

  1. Clone the repository:
git clone https://github.com/makalin/SayOut.git
cd SayOut
  1. Set up environment variables:
cp .env.example .env
# Edit .env with your configuration
  1. Start the application:
docker-compose up --build

Access at: http://localhost:8080


🔑 Authentication

  • JWT-based authentication
  • Secure password hashing with bcrypt
  • Protected API endpoints
  • Session management

📝 Features in Detail

  • User Management
    • Registration and login
    • Profile customization
    • Friend system
  • Content
    • Public and private posts
    • Real-time updates
    • Responsive design
  • UI/UX
    • Dark/Light theme
    • Mobile-friendly
    • Minimal and clean interface

⚡ Roadmap

  • Core "Say" system
  • Public / Private modes
  • User authentication
  • Dark theme support
  • Friend & Circle management
  • Notifications & Mentions
  • UI/UX enhancements
  • Live Demo Deployment

🤝 Contributing

Pull requests are welcome! Open an issue for feature suggestions or bug reports.


📄 License

MIT License


🌐 Live Demo

Coming soon...

About

SayOut is a lightweight, micro social network where you can Say Out your thoughts — either to the public or just to your friends. Designed to run on minimal resources with modern, efficient tech.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages