Skip to content
/ SayOut Public

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.

License

Notifications You must be signed in to change notification settings

makalin/SayOut

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

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published