Another pet project: cafés and co-working spaces in sunny Cyprus. There are numerous cafes, coffee houses, taverns, restaurants, and bars on the island, but not everyone is good to work for at least a couple of hours.

#[OA\Parameter(name: 'busyness', in: 'query', allowEmptyValue: false, schema: new OA\Schema(type: 'string'))] #[OA\Parameter(name: 'city', in: 'query', allowEmptyValue: false, schema: new OA\Schema(type: 'string'))] #[OA\Parameter(name: 'size', in: 'query', allowEmptyValue: false, schema: new OA\Schema(type: 'string'))] #[OA\Parameter(name: 'sockets', in: 'query', allowEmptyValue: false, schema: new OA\Schema(type: 'string'))] #[OA\Parameter(name: 'noise', in: 'query', allowEmptyValue: false, schema: new OA\Schema(type: 'string'))] #[OA\Parameter(name: 'type', in: 'query', allowEmptyValue: false, schema: new OA\Schema(type: 'string'))] #[OA\Parameter(name: 'view', in: 'query', allowEmptyValue: false, schema: new OA\Schema(type: 'string'))] #[OA\Parameter(name: 'cuisine', in: 'query', allowEmptyValue: false, schema: new OA\Schema(type: 'string'))] #[OA\Parameter(name: 'vRate', in: 'query', allowEmptyValue: false, schema: new OA\Schema(type: 'string', format: 'float', maximum: 0, minimum: 5))] final class IndexRequest extends FormRequest { /** @return array{busyness: string, city: string, size: string, sockets: string, noise: string, type: string, view: string} */ public function rules(): array { return [ 'busyness' => ['sometimes', 'required', new Enum(Busyness::class)], 'city' => ['sometimes', 'required', new Enum(City::class)], 'size' => ['sometimes', 'required', new Enum(Size::class)], 'sockets' => ['sometimes', 'required', new Enum(Sockets::class)], 'noise' => ['sometimes', 'required', new Enum(Noise::class)], 'type' => ['sometimes', 'required', new Enum(Type::class)], 'view' => ['sometimes', 'required', new Enum(View::class)], 'cuisine' => ['sometimes', 'required', new Enum(Cuisine::class)], 'vRate' => ['sometimes', 'required', 'float', 'numeric', 'between:0,5'], ]; }}

Some places have photos that are transparently uploaded to AWS S3 from the admin and processed by the https://imgix.com/ service.

Both services are wrapped in their respective actions and are available through console commands and events after recording the place.
Newsletter

Get the latest Laravel/PHP jobs, events and curated articles straight to your inbox, once a week

Fathom Analytics | Fast, simple and privacy-focused website analytics. Fathom Analytics | Fast, simple and privacy-focused website analytics.
Achieve superior email deliverability with ToastMail! Our AI-driven tool warms up inboxes, monitors reputation, and ensures emails reach their intended destination. Sign up today for a spam-free future. Achieve superior email deliverability with ToastMail! Our AI-driven tool warms up inboxes, monitors reputation, and ensures emails reach their intended destination. Sign up today for a spam-free future.
Community Partners