NOTE : since this is a laravel project, all instructions for install laravel need to be performed Laravel Instruction
Please use below instruction :
- clone this rerpository
- apply proper permissions to framework folders
- run composer install && composer update
- set your database configuration (/app/config/database.php)
- set your memcached configuration (/app/config/cache.php)
- set elasticsearch configuration (/app/config/plastic.php)
- set your session mechanism (/app/config/session.php)
- Run php artisan migrate to create all database tables
- Run php artisan key:generate
Befor up an run the application Elastic Search should be runned
Make sure you installed the memcached extention
NOTE : you may use .env file for your setting (except elasticsearch setting) .
Main Module wroted for this project is UserDirectory which is contain below :
- Config Directory : contain all constant , messages
- Exceptions : contain two sort of validation for application 1).elastic exceptions 2). validation exceptions
- Models : contain database models
- Services : contain all business logic as below :
- Services/Elastic : parsing the data which comes from elasticSearch server
- Services/Response : generate response based on different strategy .
- Services/User : all services related to user and its actions like searchable models, interaction with cache, search , ...
- Services/Validator : all strategies for validate inputes goes here .
- Services/IService , ISearch, IUser : parent abstract classes | interfaces which are used by other components
Events : when user is registered or it's data updated, proper event will triggered for indexing the data and update the Cached data .
controllers : can be found at :
- /app/Http/Controllers/
View can be found at :
- /resources/views/
and finally main JS file and configuration are placed at :
- /public/js/user_directory.js