pinned-menu

command module
v0.0.0-...-39a9ec7 Latest Latest
Warning

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

Go to latest
Published: May 8, 2025 License: MIT Imports: 1 Imported by: 0

README ΒΆ

Pinned Menu πŸš€

Go Report Card GoDoc

A modern, high-performance menu management system built with Go, featuring a robust API and scalable architecture.

✨ Features

  • πŸš€ High-performance API built with Fiber
  • πŸ“Š PostgreSQL and SQLite database support
  • πŸ”„ Real-time updates with Kafka integration
  • πŸ“ Swagger API documentation
  • 🐳 Docker and Kubernetes support
  • πŸ” Environment-based configuration
  • πŸ§ͺ Comprehensive testing suite

πŸ› οΈ Tech Stack

  • Backend: Go 1.18+
  • Web Framework: Fiber v2
  • Database: PostgreSQL, SQLite
  • ORM: GORM
  • Message Broker: Kafka
  • Container: Docker
  • Orchestration: Kubernetes
  • Documentation: Swagger
  • Testing: Go testing framework

πŸš€ Getting Started

Prerequisites
  • Go 1.18 or higher
  • Docker and Docker Compose
  • PostgreSQL (optional, SQLite is available for development)
  • Kafka (optional, for real-time features)
Installation
  1. Clone the repository:
git clone https://github.com/patricksferraz/pinned-menu.git
cd pinned-menu
  1. Copy the environment file and configure it:
cp .env.example .env
  1. Install dependencies:
go mod download
  1. Run the application:
make run
Docker Deployment
docker-compose up -d

πŸ“š API Documentation

Once the application is running, you can access the Swagger documentation at:

http://localhost:8080/swagger/

πŸ—οΈ Project Structure

.
β”œβ”€β”€ app/          # Application layer
β”œβ”€β”€ cmd/          # Command line interface
β”œβ”€β”€ domain/       # Domain models and interfaces
β”œβ”€β”€ infra/        # Infrastructure implementations
β”œβ”€β”€ k8s/          # Kubernetes configurations
└── utils/        # Utility functions

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“ License

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

πŸ‘₯ Authors

  • Patrick Ferraz - Initial work - GitHub

πŸ™ Acknowledgments

  • Fiber
  • GORM
  • Swagger
  • And all other amazing open-source projects that made this possible!

⭐️ If you like this project, please give it a star on GitHub!

Documentation ΒΆ

Overview ΒΆ

Copyright Β© 2022 NAME HERE <EMAIL ADDRESS>

Directories ΒΆ

Path Synopsis
app
domain
infra
db

Jump to

Keyboard shortcuts

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