Pinned Front

A modern, high-performance web application built with Go and Fiber framework, designed to manage guests, employees, places, and menus in a restaurant or hospitality environment.
π Features
- High Performance: Built with Fiber, a fast and efficient web framework
- Modern Architecture: Clean code structure following domain-driven design principles
- Security: Built-in CSRF protection and input validation
- Scalable: Containerized with Docker and Kubernetes support
- Developer Friendly: Hot-reload support with Air
- Environment Configuration: Flexible configuration management with environment variables
π οΈ Tech Stack
- Backend: Go 1.18+
- Web Framework: Fiber v2
- Template Engine: Fiber Template
- Containerization: Docker & Docker Compose
- Orchestration: Kubernetes
- Development: Air for hot-reload
- Environment: Go-ENV for configuration management
π Prerequisites
- Go 1.18 or higher
- Docker and Docker Compose (for containerized deployment)
- Make (for using Makefile commands)
π Getting Started
- Clone the repository:
git clone https://github.com/patricksferraz/pinned-front.git
cd pinned-front
- Copy the example environment file:
cp .env.example .env
- Run the application:
For development:
make dev
For production:
make build
make run
Using Docker:
docker-compose up
ποΈ Project Structure
.
βββ app/ # Application layer (handlers, routes)
βββ config/ # Configuration management
βββ domain/ # Domain layer (services, models)
βββ utils/ # Utility functions
βββ k8s/ # Kubernetes configurations
βββ .docker/ # Docker-related files
βββ .github/ # GitHub workflows and templates
π§ Configuration
The application can be configured using environment variables. See .env.example for available options.
π§ͺ Testing
make test
π¦ Deployment
Docker
docker-compose up -d
Kubernetes
kubectl apply -f k8s/
π€ Contributing
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature)
- Commit your Changes (
git commit -m 'Add some AmazingFeature')
- Push to the Branch (
git push origin feature/AmazingFeature)
- Open a Pull Request
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π¨βπ» Author
Patrick Sferraz
π Acknowledgments
- Fiber - Fast and efficient web framework
- Air - Live reload for Go applications
- All other open-source projects that made this possible