A modern and responsive Workspace Management System built for ABC Company to streamline the booking and management of private office spaces. This full-stack application supports both user-facing bookings and a powerful admin dashboard for workspace administrators.
This system allows users to browse, book, and manage office space rentals, while enabling staff to manage users, contracts, reports, and workspace availability through a secure admin portal.
Ensure you have the following installed:
users
: User and admin accountspackages
: Package details (5/10/15 seaters)bookings
: Booking details (user, package, date)booking_extensions
: Booking extension detailscontracts
: Contract details (signed contracts)booking_users
: Users attached to a bookingThe system is designed with Domain-Driven Design (DDD) principles and adheres to SOLID principles for a clean, scalable, testable and maintainable codebase.
π§ Backend (Laravel)
CreateBooking
, UploadContract
) to decouple business logic from controllers and services, making them reusable and testable.BookingConfirmed
, ContractUploaded
) to which listeners respond (e.g., email notifications, logs).π¨ Frontend (React + Tailwind CSS)
Clone the Repository
[email protected]:shashikanuwan/workora.git
cd workora
Go to the backend directory
cd backend
Install dependencies
composer install
Set Up Environment Variables
cp .env.example .env
Update the database credentials, email and other configuration values.
Generate the application key
php artisan key:generate
Run migrations and seeders
php artisan migrate --seed
Start the local development server:
php artisan serve
and
php artisan queu:work
Test the backend
cd backend
./vendor/bin/pest
Test coverage (Requires XDebug 3.0+ or PCOV)
./vendor/bin/pest --coverage
Type coverage
./vendor/bin/pest --type-coverage
β³οΈ How to Use
User Portal:
[email protected]
password
Admin Portal:
[email protected]
password
This project is licensed under the MIT License.
For any questions, reach out at [email protected]