friday-talks

command
v0.0.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 20, 2025 License: MIT Imports: 17 Imported by: 0

README

Friday Talks

A web application for scheduling and managing Friday knowledge sharing sessions among friends or colleagues.

Features

  • User authentication system
  • Propose, edit, and schedule talks
  • Vote on proposed talks to show interest
  • Calendar view of scheduled talks
  • Resource sharing (slides, videos, code, etc.)
  • Track attendance and feedback

Technology Stack

  • Backend: Go with Chi router
  • Frontend: Server-side rendered HTML with HTMX and Bootstrap 5
  • Database: SQLite
  • Authentication: JWT tokens
  • Templates: Templ for Go HTML templates

Installation

Prerequisites
  • Go 1.18 or later
  • SQLite
Building from Source
  1. Clone the repository:
git clone https://github.com/your-username/friday-talks.git
cd friday-talks
  1. Install dependencies:
go mod download
  1. Generate templates:
go install github.com/a-h/templ/cmd/templ@latest
templ generate
  1. Build the application:
go build -o friday-talks ./cmd/server

Usage

  1. Run the application:
./friday-talks
  1. Open your browser and go to:
http://localhost:8080
Command Line Options
  • --port, -p: Port to listen on (default: 8080)
  • --db, -d: Path to SQLite database file (default: friday-talks.db)
  • --jwt-secret, -j: Secret key for JWT tokens (default: your-secret-key)
  • --static, -s: Path to static files (default: static)

Example:

./friday-talks --port 9000 --db ./data/talks.db

Development

Project Structure
/friday-talks
  /cmd
    /server        # Main application entry point
  /internal
    /auth          # Authentication logic
    /handlers      # HTTP request handlers
    /models        # Data models and database access
    /templates     # Templ HTML templates
    /services      # Business logic
  /migrations      # Database migrations
  /static          # CSS, JS, images
  /docs            # Documentation
  go.mod           # Go module definition
  README.md        # Project documentation
Database Migrations

The application automatically applies migrations during startup. Migrations are located in the /migrations directory.

Security Considerations

For production use:

  1. Change the default JWT secret key
  2. Use HTTPS for all connections
  3. Store sensitive configuration in environment variables or a secure configuration system
  4. Consider using a more robust database like PostgreSQL for larger deployments

License

This project is licensed under the MIT License - see the LICENSE file for details.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
templates
templ: version: v0.3.833
templ: version: v0.3.833

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL