This repository is a Laravel package that provides comprehensive geographical data (countries, states, cities, timezones, currencies, languages) and IP geolocation functionality. It implements a facade-based interface (`World::countries()`) and RESTful API endpoints (`/api/countries`, etc.) for accessing the data, which is stored in JSON files and seeded into database tables via Artisan commands. The package includes localization support for over 20 languages, configurable modules, caching mechanisms, and middleware for automatic locale and geolocation handling. The architecture follows Laravel conventions with service providers, controllers, models, migrations, and seeders, while employing an Action pattern to separate query logic, transformation, and business rules.
Goravel is a full-featured web application framework for Go that follows Laravel-inspired patterns and conventions. It provides a comprehensive set of tools for building web applications including HTTP routing, controllers, middleware, ORM, authentication, authorization, caching, queues, events, scheduling, and more. The framework uses a service container with facade pattern for easy access to services while maintaining testability, and employs service providers for modular bootstrapping of application components. The architecture is modular monolith with clear separation of concerns: application logic in app/, configuration in config/, routes in routes/, database migrations in database/migrations/, and tests in tests/. Entry points include main.go for application startup and artisan for CLI commands. The framework integrates with popular Go libraries like Gin for HTTP routing, GORM for ORM, and OpenTelemetry for observability.