To demonstrate the practical application of the project, you can use this link :
Live Demo
Login credentials :
- Email : y.alkahaleh@gmail.com
- Password:12345678
Follow these steps to set up and run the Laravel project locally:
git clone https://github.com/yalkahaleh/trade-tracker-assesment
cd laravel-project
Create a new .env
file in the project root.
Copy the contents of .env.example
and paste them into the newly created .env
file.
docker-compose up -d --build app
docker-compose exec app composer install
docker-compose exec app php artisan migrate:fresh --seed
docker-compose exec app npm install
docker-compose exec app npm run build
tab in your browser 127.0.0.1:8000
The project utilizes Laravel version 10 and livewire 3.
the project follows DDD principles, organizing code into domain-specific entities and services.
- The Companies domain includes logic related to company profiles, details, and on-demand fetching of stock data.
- The Users domain handles user authentication and management.
- The project leverages Livewire components for dynamic user interfaces, including user registration, login, and company data presentation.
- Notably, the approach for stock data display was shifted to on-demand fetching within Livewire components.
- The views are structured in a way that supports the DDD approach, with separate directories for each domain.
- Tailwind CSS is utilized for styling, ensuring a responsive and modern user interface.
- Key view directories include:
- auth for authentication-related views (login, registration).
- company for displaying company information, stock data and create company.
- Livewire is used extensively for real-time interactivity without full page reloads.
- The stock data display updates dynamically, reflecting real-time data fetched when a user views a Stock details.
if you don't want to register you can use credentials below :
email : y.alkahaleh@gmail.com
password : 12345678
note that the api for fetching stock is limited by 250 request
If you have any questions or need assistance, feel free to contact me via email