├── .editorconfig ├── .env.example ├── .gitattributes ├── .gitignore ├── .styleci.yml ├── Procfile ├── README.md ├── app ├── Application.php ├── Category.php ├── Console │ └── Kernel.php ├── Education.php ├── Employeer.php ├── Exceptions │ └── Handler.php ├── Http │ ├── Controllers │ │ ├── ApplicationController.php │ │ ├── Auth │ │ │ ├── ConfirmPasswordController.php │ │ │ ├── EmployeerLoginController.php │ │ │ ├── ForgotPasswordController.php │ │ │ ├── LoginController.php │ │ │ ├── RegisterController.php │ │ │ ├── ResetPasswordController.php │ │ │ └── VerificationController.php │ │ ├── CategoryController.php │ │ ├── Controller.php │ │ ├── EducationController.php │ │ ├── EmployeerController.php │ │ ├── HomeController.php │ │ ├── JobController.php │ │ ├── PersonalinfoController.php │ │ └── SavedJobController.php │ ├── Kernel.php │ └── Middleware │ │ ├── Authenticate.php │ │ ├── CheckForMaintenanceMode.php │ │ ├── EncryptCookies.php │ │ ├── RedirectIfAuthenticated.php │ │ ├── TrimStrings.php │ │ ├── TrustProxies.php │ │ └── VerifyCsrfToken.php ├── Job.php ├── Personalinfo.php ├── Providers │ ├── AppServiceProvider.php │ ├── AuthServiceProvider.php │ ├── BroadcastServiceProvider.php │ ├── EventServiceProvider.php │ └── RouteServiceProvider.php ├── SavedJob.php └── User.php ├── artisan ├── bootstrap ├── app.php └── cache │ └── .gitignore ├── composer.json ├── composer.lock ├── config ├── app.php ├── auth.php ├── broadcasting.php ├── cache.php ├── database.php ├── filesystems.php ├── hashing.php ├── logging.php ├── mail.php ├── queue.php ├── services.php ├── session.php └── view.php ├── database ├── .gitignore ├── factories │ └── UserFactory.php ├── migrations │ ├── 2014_10_12_000000_create_users_table.php │ ├── 2014_10_12_100000_create_password_resets_table.php │ ├── 2020_02_22_130833_create_jobs_table.php │ ├── 2020_02_26_023002_add_some_fields_to_jobs_table.php │ ├── 2020_02_26_040100_rename_and_add_field_to_jobs_table.php │ ├── 2020_02_26_050831_rename_and_drop_field_to_jobs_table.php │ ├── 2020_02_26_051443_drop_field_to_jobs_table.php │ ├── 2020_02_26_052100_change_type_and_drop_field_to_jobs_table.php │ ├── 2020_02_29_170116_create_categories_table.php │ ├── 2020_02_29_192132_create_education_table.php │ ├── 2020_03_01_064543_drop_category_id_and_location_id_field_from_jobs_table.php │ ├── 2020_03_01_081528_add_keyword_and_jobcontext_fieldz_to_jobs_table.php │ ├── 2020_03_02_083205_add_is_user_field_to_users_table.php │ ├── 2020_03_02_083931_create_employeers_table.php │ ├── 2020_03_02_084924_add_password_field_to_employeers_table.php │ ├── 2020_03_04_095413_add_is_users_field_to_users_table.php │ ├── 2020_03_04_192211_create_applications_table.php │ ├── 2020_03_08_090444_create_saved_jobs_table.php │ └── 2020_03_09_181241_create_personalinfos_table.php └── seeds │ └── DatabaseSeeder.php ├── icon.png ├── index_background.png ├── package-lock.json ├── package.json ├── phpunit.xml ├── public ├── .htaccess ├── bootstrap4 │ ├── css │ │ ├── bootstrap-grid.css │ │ ├── bootstrap-grid.css.map │ │ ├── bootstrap-grid.min.css │ │ ├── bootstrap-grid.min.css.map │ │ ├── bootstrap-reboot.css │ │ ├── bootstrap-reboot.css.map │ │ ├── bootstrap-reboot.min.css │ │ ├── bootstrap-reboot.min.css.map │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ └── js │ │ ├── bootstrap.bundle.js │ │ ├── bootstrap.bundle.js.map │ │ ├── bootstrap.bundle.min.js │ │ ├── bootstrap.bundle.min.js.map │ │ ├── bootstrap.js │ │ ├── bootstrap.js.map │ │ ├── bootstrap.min.js │ │ └── bootstrap.min.js.map ├── brand_logo.png ├── css │ └── app.css ├── favicon.ico ├── favicon.png ├── icon.png ├── index.php ├── js │ └── app.js ├── mix-manifest.json ├── profile_photos │ ├── 1583812368.png │ ├── 1583812836.png │ ├── 1583814638.jpeg │ ├── 1583815329.png │ ├── 1583815349.png │ ├── 1583816699.jpeg │ ├── 1583816884.jpeg │ └── 1583816939.jpeg └── robots.txt ├── resources ├── js │ ├── app.js │ └── bootstrap.js ├── lang │ └── en │ │ ├── auth.php │ │ ├── pagination.php │ │ ├── passwords.php │ │ └── validation.php ├── sass │ ├── _variables.scss │ └── app.scss └── views │ ├── auth │ ├── login.blade.php │ ├── passwords │ │ ├── confirm.blade.php │ │ ├── email.blade.php │ │ └── reset.blade.php │ ├── register.blade.php │ └── verify.blade.php │ ├── categories │ ├── create.blade.php │ ├── edit.blade.php │ └── index.blade.php │ ├── employeer.blade.php │ ├── employeers │ ├── applicants.blade.php │ └── dashboard.blade.php │ ├── home.blade.php │ ├── index.blade.php │ ├── jobs │ ├── create.blade.php │ ├── edit.blade.php │ ├── index.blade.php │ └── show.blade.php │ ├── layout │ └── app.blade.php │ ├── layouts │ ├── app.blade.php │ └── auth.blade.php │ ├── user.blade.php │ └── users │ ├── education │ ├── create.blade.php │ ├── edit.blade.php │ └── index.blade.php │ ├── experience │ ├── create.blade.php │ ├── edit.blade.php │ └── index.blade.php │ ├── personalinfo │ ├── create.blade.php │ ├── edit.blade.php │ └── index.blade.php │ ├── projects │ ├── create.blade.php │ ├── edit.blade.php │ └── index.blade.php │ ├── public_profile.blade.php │ ├── references │ ├── create.blade.php │ ├── edit.blade.php │ └── index.blade.php │ ├── skills │ ├── create.blade.php │ ├── edit.blade.php │ └── index.blade.php │ ├── user_dashboard.blade.php │ └── view_profile.blade.php ├── routes ├── api.php ├── channels.php ├── console.php └── web.php ├── server.php ├── storage ├── app │ ├── .gitignore │ └── public │ │ └── .gitignore ├── framework │ ├── .gitignore │ ├── cache │ │ ├── .gitignore │ │ └── data │ │ │ └── .gitignore │ ├── sessions │ │ └── .gitignore │ ├── testing │ │ └── .gitignore │ └── views │ │ └── .gitignore └── logs │ └── .gitignore ├── tests ├── CreatesApplication.php ├── Feature │ └── ExampleTest.php ├── TestCase.php └── Unit │ └── ExampleTest.php └── webpack.mix.js /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | insert_final_newline = true 7 | indent_style = space 8 | indent_size = 4 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | 14 | [*.{yml,yaml}] 15 | indent_size = 2 16 | -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- 1 | APP_NAME=Laravel 2 | APP_ENV=local 3 | APP_KEY= 4 | APP_DEBUG=true 5 | APP_URL=http://localhost 6 | 7 | LOG_CHANNEL=stack 8 | 9 | DB_CONNECTION=mysql 10 | DB_HOST=127.0.0.1 11 | DB_PORT=3306 12 | DB_DATABASE=laravel 13 | DB_USERNAME=root 14 | DB_PASSWORD= 15 | 16 | BROADCAST_DRIVER=log 17 | CACHE_DRIVER=file 18 | QUEUE_CONNECTION=sync 19 | SESSION_DRIVER=file 20 | SESSION_LIFETIME=120 21 | 22 | REDIS_HOST=127.0.0.1 23 | REDIS_PASSWORD=null 24 | REDIS_PORT=6379 25 | 26 | MAIL_DRIVER=smtp 27 | MAIL_HOST=smtp.mailtrap.io 28 | MAIL_PORT=2525 29 | MAIL_USERNAME=null 30 | MAIL_PASSWORD=null 31 | MAIL_ENCRYPTION=null 32 | MAIL_FROM_ADDRESS=null 33 | MAIL_FROM_NAME="${APP_NAME}" 34 | 35 | AWS_ACCESS_KEY_ID= 36 | AWS_SECRET_ACCESS_KEY= 37 | AWS_DEFAULT_REGION=us-east-1 38 | AWS_BUCKET= 39 | 40 | PUSHER_APP_ID= 41 | PUSHER_APP_KEY= 42 | PUSHER_APP_SECRET= 43 | PUSHER_APP_CLUSTER=mt1 44 | 45 | MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" 46 | MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" 47 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | *.css linguist-vendored 3 | *.scss linguist-vendored 4 | *.js linguist-vendored 5 | CHANGELOG.md export-ignore 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /public/hot 3 | /public/storage 4 | /storage/*.key 5 | /vendor 6 | .env 7 | .env.backup 8 | .phpunit.result.cache 9 | Homestead.json 10 | Homestead.yaml 11 | npm-debug.log 12 | yarn-error.log 13 | -------------------------------------------------------------------------------- /.styleci.yml: -------------------------------------------------------------------------------- 1 | php: 2 | preset: laravel 3 | disabled: 4 | - unused_use 5 | finder: 6 | not-name: 7 | - index.php 8 | - server.php 9 | js: 10 | finder: 11 | not-name: 12 | - webpack.mix.js 13 | css: true 14 | -------------------------------------------------------------------------------- /Procfile: -------------------------------------------------------------------------------- 1 | web: vendor/bin/heroku-php-apache2 public/ -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Oppotunity 2 | Opportunity is an online job portal. 3 | 4 | 19 February 2020 - Present 5 | 6 | > A Project Under **PHP Laravel Framework Training** Program. 7 | **Institute:** Lucid Maze 8 | 9 | 10 | 11 | ### Technologies: 12 | - **Language:** PHP 13 | - **Framework:** Laravel 6.x 14 | - **CSS Framework:** Bootstrap 4 15 | - **Database:** MySQL 16 | - HTML, CSS 17 | - **Text Editor:** Sublime Text 18 | 19 | ### Features: 20 | **Job Seeker:** 21 | - View all types of jobs 22 | - Can apply directly 23 | - Can search job 24 | - Can filter job category 25 | 26 | **Employer:** 27 | - Can post job 28 | - Can view applied candidate profile 29 | 30 | **Screenshots** 31 | 32 | 1. Home Page: 33 | 34 | ![job_portal_index_page](https://user-images.githubusercontent.com/23233774/99152318-4606cf00-26cb-11eb-9f3e-1cfb0804f223.png) 35 | 36 | 2. Job Search Result Page: 37 | 38 | ![it_jobs](https://user-images.githubusercontent.com/23233774/99152314-443d0b80-26cb-11eb-8644-bbd0952da920.png) 39 | 40 | -------------------------------------------------------------------------------- /app/Application.php: -------------------------------------------------------------------------------- 1 | command('inspire') 28 | // ->hourly(); 29 | } 30 | 31 | /** 32 | * Register the commands for the application. 33 | * 34 | * @return void 35 | */ 36 | protected function commands() 37 | { 38 | $this->load(__DIR__.'/Commands'); 39 | 40 | require base_path('routes/console.php'); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /app/Education.php: -------------------------------------------------------------------------------- 1 | expectsJson()) { 61 | return response()->json(['error' => 'Unauthenticated.'], 401); 62 | } 63 | if ($request->is('employeer') || $request->is('employeer/*')) { 64 | return redirect()->guest('/login/employeer'); 65 | } 66 | if ($request->is('user') || $request->is('user/*')) { 67 | return redirect()->guest('/login/user'); 68 | } 69 | return redirect()->guest(route('login')); 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /app/Http/Controllers/ApplicationController.php: -------------------------------------------------------------------------------- 1 | job_id = $job_id; 21 | $application->employeer_id = $employeer->employeer_id; 22 | $application->user_id = Auth::user()->id; 23 | $application->save(); 24 | 25 | $job = Job::Find($job_id); 26 | return view('jobs/show', compact('job')); 27 | 28 | //return redirect('/jobs/show/{employeer->job_id}'); 29 | } 30 | public function show_applicants($job_id) 31 | { 32 | $applicants = Application::where('job_id', '=', $job_id)->get(); 33 | return view('employeers.applicants', compact('applicants')); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /app/Http/Controllers/Auth/ConfirmPasswordController.php: -------------------------------------------------------------------------------- 1 | middleware('auth'); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /app/Http/Controllers/Auth/EmployeerLoginController.php: -------------------------------------------------------------------------------- 1 | middleware('guest')->except('logout'); 41 | $this->middleware('guest:user')->except('logout'); 42 | $this->middleware('guest:employeer')->except('logout'); 43 | } 44 | 45 | 46 | public function showUserLoginForm() 47 | { 48 | return view('auth.login', ['url' => 'user']); 49 | } 50 | 51 | public function userLogin(Request $request) 52 | { 53 | $this->validate($request, [ 54 | 'email' => 'required|email', 55 | 'password' => 'required|min:6' 56 | ]); 57 | 58 | if (Auth::guard('user')->attempt(['email' => $request->email, 'password' => $request->password], $request->get('remember'))) { 59 | 60 | return redirect()->intended('/user'); 61 | } 62 | return back()->withInput($request->only('email', 'remember')); 63 | } 64 | 65 | public function showEmployeerLoginForm() 66 | { 67 | return view('auth.login', ['url' => 'employeer']); 68 | } 69 | 70 | public function EmployeerLogin(Request $request) 71 | { 72 | $this->validate($request, [ 73 | 'email' => 'required|email', 74 | 'password' => 'required|min:6' 75 | ]); 76 | 77 | if (Auth::guard('employeer')->attempt(['email' => $request->email, 'password' => $request->password], $request->get('remember'))) { 78 | 79 | return redirect()->intended('/employeers/dashboard'); 80 | } 81 | return back()->withInput($request->only('email', 'remember')); 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /app/Http/Controllers/Auth/RegisterController.php: -------------------------------------------------------------------------------- 1 | middleware('guest'); 45 | $this->middleware('guest:user'); 46 | $this->middleware('guest:employeer'); 47 | } 48 | 49 | /** 50 | * Get a validator for an incoming registration request. 51 | * 52 | * @param array $data 53 | * @return \Illuminate\Contracts\Validation\Validator 54 | */ 55 | protected function validator(array $data) 56 | { 57 | return Validator::make($data, [ 58 | 'name' => ['required', 'string', 'max:255'], 59 | 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], 60 | 'password' => ['required', 'string', 'min:8', 'confirmed'], 61 | ]); 62 | } 63 | 64 | /** 65 | * Create a new user instance after a valid registration. 66 | * 67 | * @param array $data 68 | * @return \App\User 69 | */ 70 | protected function create(array $data) 71 | { 72 | return User::create([ 73 | 'name' => $data['name'], 74 | 'email' => $data['email'], 75 | 'password' => Hash::make($data['password']), 76 | ]); 77 | return redirect()->intended('login/user'); 78 | } 79 | 80 | public function showUserRegisterForm() 81 | { 82 | return view('auth.register', ['url' => 'user']); 83 | } 84 | 85 | public function showEmployeerRegisterForm() 86 | { 87 | return view('auth.register', ['url' => 'employeer']); 88 | } 89 | 90 | protected function createEmployeer(Request $request) 91 | { 92 | $employeer = Employeer::create([ 93 | 'name' => $request['name'], 94 | 'website' => $request['website'], 95 | 'email' => $request['email'], 96 | 'company_type' => $request['company_type'], 97 | 'mobile' => $request['mobile'], 98 | 'address' => $request['address'], 99 | 'password' => Hash::make($request['password']), 100 | ]); 101 | return redirect()->intended('login/employeer'); 102 | } 103 | } 104 | -------------------------------------------------------------------------------- /app/Http/Controllers/Auth/ResetPasswordController.php: -------------------------------------------------------------------------------- 1 | middleware('auth'); 39 | $this->middleware('signed')->only('verify'); 40 | $this->middleware('throttle:6,1')->only('verify', 'resend'); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /app/Http/Controllers/CategoryController.php: -------------------------------------------------------------------------------- 1 | category_name = $request->category_name; 45 | $category->no_jobs = $request->no_jobs; 46 | $category->save(); 47 | return redirect('/categories'); 48 | } 49 | 50 | /** 51 | * Display the specified resource. 52 | * 53 | * @param \App\Category $category 54 | * @return \Illuminate\Http\Response 55 | */ 56 | public function show(Category $category) 57 | { 58 | // 59 | } 60 | 61 | /** 62 | * Show the form for editing the specified resource. 63 | * 64 | * @param \App\Category $category 65 | * @return \Illuminate\Http\Response 66 | */ 67 | public function edit($category_id) 68 | { 69 | // 70 | $category = Category::Find($category_id); 71 | return view('/categories/edit', compact('category')); 72 | } 73 | 74 | /** 75 | * Update the specified resource in storage. 76 | * 77 | * @param \Illuminate\Http\Request $request 78 | * @param \App\Category $category 79 | * @return \Illuminate\Http\Response 80 | */ 81 | public function update(Request $request, $category_id) 82 | { 83 | // 84 | $category = Category::Find($category_id); 85 | $category->category_name = $request->category_name; 86 | $category->no_jobs = $request->no_jobs; 87 | 88 | $category->save(); 89 | return redirect('/categories'); 90 | } 91 | 92 | /** 93 | * Remove the specified resource from storage. 94 | * 95 | * @param \App\Category $category 96 | * @return \Illuminate\Http\Response 97 | */ 98 | public function destroy($category_id) 99 | { 100 | // 101 | $category = Category::Find($category_id); 102 | $category->delete(); 103 | return redirect('/categories'); 104 | } 105 | } 106 | -------------------------------------------------------------------------------- /app/Http/Controllers/Controller.php: -------------------------------------------------------------------------------- 1 | id; 20 | $education = Education::orderBy('passing_year','desc')->where('user_id', '=' , $id)->get(); 21 | return view('users.education.index', compact('education')); 22 | } 23 | 24 | /** 25 | * Show the form for creating a new resource. 26 | * 27 | * @return \Illuminate\Http\Response 28 | */ 29 | public function create() 30 | { 31 | // 32 | return view('users.education.create'); 33 | } 34 | 35 | /** 36 | * Store a newly created resource in storage. 37 | * 38 | * @param \Illuminate\Http\Request $request 39 | * @return \Illuminate\Http\Response 40 | */ 41 | public function store(Request $request) 42 | { 43 | // 44 | $education = new Education(); 45 | $education->user_id = Auth::user()->id; 46 | $education->degree_name = $request->degree_name; 47 | $education->subject = $request->subject; 48 | $education->institute = $request->institute; 49 | $education->location = $request->location; 50 | $education->passing_year = $request->passing_year; 51 | $education->result = $request->result; 52 | $education->save(); 53 | return redirect('/users/education'); 54 | } 55 | 56 | /** 57 | * Display the specified resource. 58 | * 59 | * @param \App\Education $education 60 | * @return \Illuminate\Http\Response 61 | */ 62 | public function show(Education $education) 63 | { 64 | // 65 | } 66 | 67 | /** 68 | * Show the form for editing the specified resource. 69 | * 70 | * @param \App\Education $education 71 | * @return \Illuminate\Http\Response 72 | */ 73 | public function edit($edu_id) 74 | { 75 | // 76 | $education = Education::Find($edu_id); 77 | return view('/users/education/edit', compact('education')); 78 | } 79 | 80 | /** 81 | * Update the specified resource in storage. 82 | * 83 | * @param \Illuminate\Http\Request $request 84 | * @param \App\Education $education 85 | * @return \Illuminate\Http\Response 86 | */ 87 | public function update(Request $request, $edu_id) 88 | { 89 | // 90 | $education = Education::Find($edu_id); 91 | $education->user_id = Auth::user()->id; 92 | $education->degree_name = $request->degree_name; 93 | $education->subject = $request->subject; 94 | $education->institute = $request->institute; 95 | $education->location = $request->location; 96 | $education->passing_year = $request->passing_year; 97 | $education->result = $request->result; 98 | $education->save(); 99 | return redirect('/users/education'); 100 | } 101 | 102 | /** 103 | * Remove the specified resource from storage. 104 | * 105 | * @param \App\Education $education 106 | * @return \Illuminate\Http\Response 107 | */ 108 | public function destroy(Education $education) 109 | { 110 | // 111 | 112 | } 113 | } 114 | -------------------------------------------------------------------------------- /app/Http/Controllers/EmployeerController.php: -------------------------------------------------------------------------------- 1 | id; 22 | $education = Education::orderBy('passing_year','desc')->where('user_id', '=' , $id)->get(); 23 | return view('employeers.view_profile', compact('education')); 24 | } 25 | public function edit_profile() 26 | { 27 | return view('users.edit_profile'); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /app/Http/Controllers/HomeController.php: -------------------------------------------------------------------------------- 1 | middleware('auth'); 20 | } 21 | 22 | /** 23 | * Show the application dashboard. 24 | * 25 | * @return \Illuminate\Contracts\Support\Renderable 26 | */ 27 | public function index() 28 | { 29 | return view('users.user_dashboard'); 30 | } 31 | public function view_profile() 32 | { 33 | $id = Auth::user()->id; 34 | $education = Education::orderBy('passing_year','desc')->where('user_id', '=' , $id)->get(); 35 | return view('users.view_profile', compact('education')); 36 | } 37 | public function edit_profile() 38 | { 39 | return view('users.edit_profile'); 40 | } 41 | public function public_profile($user_id) 42 | { 43 | $user = User::Find($user_id); 44 | $education = Education::orderBy('passing_year','desc')->where('user_id', '=' , $user_id)->get(); 45 | return view('users.public_profile', compact('user', 'education')); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /app/Http/Controllers/PersonalinfoController.php: -------------------------------------------------------------------------------- 1 | id; 20 | $personalinfo = Personalinfo::where('user_id', '=' , $id)->get(); 21 | return view('users.personalinfo.index', compact('personalinfo')); 22 | } 23 | 24 | /** 25 | * Show the form for creating a new resource. 26 | * 27 | * @return \Illuminate\Http\Response 28 | */ 29 | public function create() 30 | { 31 | // 32 | return view('users.personalinfo.create'); 33 | } 34 | 35 | /** 36 | * Store a newly created resource in storage. 37 | * 38 | * @param \Illuminate\Http\Request $request 39 | * @return \Illuminate\Http\Response 40 | */ 41 | public function store(Request $request) 42 | { 43 | // return response()->json($request); 44 | //image validation 45 | $request->validate([ 46 | 'file' => 'required|mimes:jpg,jpeg,png|max:2048', 47 | ]); 48 | $img_name = time() . '.' . $request->file->extension(); 49 | $request->file->move(public_path('profile_photos'), $img_name); 50 | 51 | $personalinfo = new Personalinfo(); 52 | 53 | $personalinfo->user_id = Auth::user()->id; 54 | $personalinfo->full_name = $request->full_name; 55 | $personalinfo->photo = "/profile_photos/" . $img_name; 56 | $personalinfo->father = $request->father; 57 | $personalinfo->mother = $request->mother; 58 | $personalinfo->gender = $request->gender; 59 | $personalinfo->birthdate = $request->birthdate; 60 | $personalinfo->nid = $request->nid; 61 | $personalinfo->religion = $request->religion; 62 | $personalinfo->present_address = $request->present_address; 63 | $personalinfo->permanent_address = $request->permanent_address; 64 | $personalinfo->linkedin = $request->linkedin; 65 | $personalinfo->github = $request->github; 66 | $personalinfo->facebook = $request->facebook; 67 | $personalinfo->website = $request->website; 68 | $personalinfo->mobile = $request->mobile; 69 | 70 | $personalinfo->save(); 71 | 72 | return redirect('/users/personalinfo'); 73 | } 74 | 75 | /** 76 | * Display the specified resource. 77 | * 78 | * @param \App\Personalinfo $personalinfo 79 | * @return \Illuminate\Http\Response 80 | */ 81 | public function show(Personalinfo $personalinfo) 82 | { 83 | // 84 | } 85 | 86 | /** 87 | * Show the form for editing the specified resource. 88 | * 89 | * @param \App\Personalinfo $personalinfo 90 | * @return \Illuminate\Http\Response 91 | */ 92 | public function edit($personalinfo) 93 | { 94 | // 95 | $personalinfo = Personalinfo::Find($personalinfo); 96 | return view('/users/personalinfo/edit', compact('personalinfo')); 97 | } 98 | 99 | /** 100 | * Update the specified resource in storage. 101 | * 102 | * @param \Illuminate\Http\Request $request 103 | * @param \App\Personalinfo $personalinfo 104 | * @return \Illuminate\Http\Response 105 | */ 106 | public function update(Request $request, $id) 107 | { 108 | // 109 | //return response()->json($request); 110 | //image validation 111 | $personalinfo = Personalinfo::Find($id); 112 | 113 | if ($request->file) 114 | { 115 | $request->validate([ 116 | 'file' => 'required|mimes:jpg,jpeg,png|max:2048', 117 | ]); 118 | $img_name = time() . '.' . $request->file->extension(); 119 | $request->file->move(public_path('profile_photos'), $img_name); 120 | $personalinfo->photo = "/profile_photos/" . $img_name; 121 | 122 | } 123 | 124 | //return response()->json($request->file); 125 | 126 | $personalinfo->user_id = Auth::user()->id; 127 | $personalinfo->full_name = $request->full_name; 128 | $personalinfo->father = $request->father; 129 | $personalinfo->mother = $request->mother; 130 | $personalinfo->gender = $request->gender; 131 | $personalinfo->birthdate = $request->birthdate; 132 | $personalinfo->nid = $request->nid; 133 | $personalinfo->religion = $request->religion; 134 | $personalinfo->present_address = $request->present_address; 135 | $personalinfo->permanent_address = $request->permanent_address; 136 | $personalinfo->linkedin = $request->linkedin; 137 | $personalinfo->github = $request->github; 138 | $personalinfo->facebook = $request->facebook; 139 | $personalinfo->website = $request->website; 140 | $personalinfo->mobile = $request->mobile; 141 | 142 | //return response()->json($personalinfo); 143 | $personalinfo->save(); 144 | 145 | return redirect('/users/personalinfo'); 146 | } 147 | 148 | /** 149 | * Remove the specified resource from storage. 150 | * 151 | * @param \App\Personalinfo $personalinfo 152 | * @return \Illuminate\Http\Response 153 | */ 154 | public function destroy(Personalinfo $personalinfo) 155 | { 156 | // 157 | } 158 | } 159 | -------------------------------------------------------------------------------- /app/Http/Controllers/SavedJobController.php: -------------------------------------------------------------------------------- 1 | [ 31 | \App\Http\Middleware\EncryptCookies::class, 32 | \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, 33 | \Illuminate\Session\Middleware\StartSession::class, 34 | // \Illuminate\Session\Middleware\AuthenticateSession::class, 35 | \Illuminate\View\Middleware\ShareErrorsFromSession::class, 36 | \App\Http\Middleware\VerifyCsrfToken::class, 37 | \Illuminate\Routing\Middleware\SubstituteBindings::class, 38 | ], 39 | 40 | 'api' => [ 41 | 'throttle:60,1', 42 | \Illuminate\Routing\Middleware\SubstituteBindings::class, 43 | ], 44 | ]; 45 | 46 | /** 47 | * The application's route middleware. 48 | * 49 | * These middleware may be assigned to groups or used individually. 50 | * 51 | * @var array 52 | */ 53 | protected $routeMiddleware = [ 54 | 'auth' => \App\Http\Middleware\Authenticate::class, 55 | 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 56 | 'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class, 57 | 'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class, 58 | 'can' => \Illuminate\Auth\Middleware\Authorize::class, 59 | 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 60 | 'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class, 61 | 'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class, 62 | 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 63 | 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, 64 | ]; 65 | 66 | /** 67 | * The priority-sorted list of middleware. 68 | * 69 | * This forces non-global middleware to always be in the given order. 70 | * 71 | * @var array 72 | */ 73 | protected $middlewarePriority = [ 74 | \Illuminate\Session\Middleware\StartSession::class, 75 | \Illuminate\View\Middleware\ShareErrorsFromSession::class, 76 | \App\Http\Middleware\Authenticate::class, 77 | \Illuminate\Routing\Middleware\ThrottleRequests::class, 78 | \Illuminate\Session\Middleware\AuthenticateSession::class, 79 | \Illuminate\Routing\Middleware\SubstituteBindings::class, 80 | \Illuminate\Auth\Middleware\Authorize::class, 81 | ]; 82 | } 83 | -------------------------------------------------------------------------------- /app/Http/Middleware/Authenticate.php: -------------------------------------------------------------------------------- 1 | expectsJson()) { 21 | return route('login'); 22 | } 23 | } 24 | 25 | 26 | } 27 | -------------------------------------------------------------------------------- /app/Http/Middleware/CheckForMaintenanceMode.php: -------------------------------------------------------------------------------- 1 | check()) { 22 | return redirect('/employeer'); 23 | } 24 | if ($guard == "user" && Auth::guard($guard)->check()) { 25 | return redirect('/user'); 26 | } 27 | if (Auth::guard($guard)->check()) { 28 | return redirect(RouteServiceProvider::HOME); 29 | } 30 | 31 | return $next($request); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /app/Http/Middleware/TrimStrings.php: -------------------------------------------------------------------------------- 1 | 'App\Policies\ModelPolicy', 17 | ]; 18 | 19 | /** 20 | * Register any authentication / authorization services. 21 | * 22 | * @return void 23 | */ 24 | public function boot() 25 | { 26 | $this->registerPolicies(); 27 | 28 | // 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /app/Providers/BroadcastServiceProvider.php: -------------------------------------------------------------------------------- 1 | [ 19 | SendEmailVerificationNotification::class, 20 | ], 21 | ]; 22 | 23 | /** 24 | * Register any events for your application. 25 | * 26 | * @return void 27 | */ 28 | public function boot() 29 | { 30 | parent::boot(); 31 | 32 | // 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /app/Providers/RouteServiceProvider.php: -------------------------------------------------------------------------------- 1 | mapApiRoutes(); 46 | 47 | $this->mapWebRoutes(); 48 | 49 | // 50 | } 51 | 52 | /** 53 | * Define the "web" routes for the application. 54 | * 55 | * These routes all receive session state, CSRF protection, etc. 56 | * 57 | * @return void 58 | */ 59 | protected function mapWebRoutes() 60 | { 61 | Route::middleware('web') 62 | ->namespace($this->namespace) 63 | ->group(base_path('routes/web.php')); 64 | } 65 | 66 | /** 67 | * Define the "api" routes for the application. 68 | * 69 | * These routes are typically stateless. 70 | * 71 | * @return void 72 | */ 73 | protected function mapApiRoutes() 74 | { 75 | Route::prefix('api') 76 | ->middleware('api') 77 | ->namespace($this->namespace) 78 | ->group(base_path('routes/api.php')); 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /app/SavedJob.php: -------------------------------------------------------------------------------- 1 | 'datetime', 41 | ]; 42 | } 43 | -------------------------------------------------------------------------------- /artisan: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | make(Illuminate\Contracts\Console\Kernel::class); 34 | 35 | $status = $kernel->handle( 36 | $input = new Symfony\Component\Console\Input\ArgvInput, 37 | new Symfony\Component\Console\Output\ConsoleOutput 38 | ); 39 | 40 | /* 41 | |-------------------------------------------------------------------------- 42 | | Shutdown The Application 43 | |-------------------------------------------------------------------------- 44 | | 45 | | Once Artisan has finished running, we will fire off the shutdown events 46 | | so that any final work may be done by the application before we shut 47 | | down the process. This is the last thing to happen to the request. 48 | | 49 | */ 50 | 51 | $kernel->terminate($input, $status); 52 | 53 | exit($status); 54 | -------------------------------------------------------------------------------- /bootstrap/app.php: -------------------------------------------------------------------------------- 1 | singleton( 30 | Illuminate\Contracts\Http\Kernel::class, 31 | App\Http\Kernel::class 32 | ); 33 | 34 | $app->singleton( 35 | Illuminate\Contracts\Console\Kernel::class, 36 | App\Console\Kernel::class 37 | ); 38 | 39 | $app->singleton( 40 | Illuminate\Contracts\Debug\ExceptionHandler::class, 41 | App\Exceptions\Handler::class 42 | ); 43 | 44 | /* 45 | |-------------------------------------------------------------------------- 46 | | Return The Application 47 | |-------------------------------------------------------------------------- 48 | | 49 | | This script returns the application instance. The instance is given to 50 | | the calling script so we can separate the building of the instances 51 | | from the actual running of the application and sending responses. 52 | | 53 | */ 54 | 55 | return $app; 56 | -------------------------------------------------------------------------------- /bootstrap/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "laravel/laravel", 3 | "type": "project", 4 | "description": "The Laravel Framework.", 5 | "keywords": [ 6 | "framework", 7 | "laravel" 8 | ], 9 | "license": "MIT", 10 | "require": { 11 | "php": "^7.2", 12 | "doctrine/dbal": "~2.3", 13 | "fideloper/proxy": "^4.0", 14 | "laravel/framework": "^6.2", 15 | "laravel/tinker": "^2.0", 16 | "laravel/ui": "^1.2" 17 | }, 18 | "require-dev": { 19 | "facade/ignition": "^1.4", 20 | "fzaninotto/faker": "^1.9.1", 21 | "mockery/mockery": "^1.0", 22 | "nunomaduro/collision": "^3.0", 23 | "phpunit/phpunit": "^8.0" 24 | }, 25 | "config": { 26 | "optimize-autoloader": true, 27 | "preferred-install": "dist", 28 | "sort-packages": true 29 | }, 30 | "extra": { 31 | "laravel": { 32 | "dont-discover": [] 33 | } 34 | }, 35 | "autoload": { 36 | "psr-4": { 37 | "App\\": "app/" 38 | }, 39 | "classmap": [ 40 | "database/seeds", 41 | "database/factories" 42 | ] 43 | }, 44 | "autoload-dev": { 45 | "psr-4": { 46 | "Tests\\": "tests/" 47 | } 48 | }, 49 | "minimum-stability": "dev", 50 | "prefer-stable": true, 51 | "scripts": { 52 | "post-autoload-dump": [ 53 | "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", 54 | "@php artisan package:discover --ansi" 55 | ], 56 | "post-root-package-install": [ 57 | "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" 58 | ], 59 | "post-create-project-cmd": [ 60 | "@php artisan key:generate --ansi" 61 | ] 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /config/auth.php: -------------------------------------------------------------------------------- 1 | [ 17 | 'guard' => 'web', 18 | 'passwords' => 'users', 19 | ], 20 | 21 | /* 22 | |-------------------------------------------------------------------------- 23 | | Authentication Guards 24 | |-------------------------------------------------------------------------- 25 | | 26 | | Next, you may define every authentication guard for your application. 27 | | Of course, a great default configuration has been defined for you 28 | | here which uses session storage and the Eloquent user provider. 29 | | 30 | | All authentication drivers have a user provider. This defines how the 31 | | users are actually retrieved out of your database or other storage 32 | | mechanisms used by this application to persist your user's data. 33 | | 34 | | Supported: "session", "token" 35 | | 36 | */ 37 | 38 | 'guards' => [ 39 | 'web' => [ 40 | 'driver' => 'session', 41 | 'provider' => 'users', 42 | ], 43 | 44 | 'user' => [ 45 | 'driver' => 'session', 46 | 'provider' => 'users', 47 | ], 48 | 49 | 'employeer' => [ 50 | 'driver' => 'session', 51 | 'provider' => 'employeers', 52 | ], 53 | 54 | 'api' => [ 55 | 'driver' => 'token', 56 | 'provider' => 'users', 57 | 'hash' => false, 58 | ], 59 | ], 60 | 61 | /* 62 | |-------------------------------------------------------------------------- 63 | | User Providers 64 | |-------------------------------------------------------------------------- 65 | | 66 | | All authentication drivers have a user provider. This defines how the 67 | | users are actually retrieved out of your database or other storage 68 | | mechanisms used by this application to persist your user's data. 69 | | 70 | | If you have multiple user tables or models you may configure multiple 71 | | sources which represent each model / table. These sources may then 72 | | be assigned to any extra authentication guards you have defined. 73 | | 74 | | Supported: "database", "eloquent" 75 | | 76 | */ 77 | 78 | 'providers' => [ 79 | 'users' => [ 80 | 'driver' => 'eloquent', 81 | 'model' => App\User::class, 82 | ], 83 | 84 | 'employeers' => [ 85 | 'driver' => 'eloquent', 86 | 'model' => App\Employeer::class, 87 | ], 88 | 89 | // 'users' => [ 90 | // 'driver' => 'database', 91 | // 'table' => 'users', 92 | // ], 93 | ], 94 | 95 | /* 96 | |-------------------------------------------------------------------------- 97 | | Resetting Passwords 98 | |-------------------------------------------------------------------------- 99 | | 100 | | You may specify multiple password reset configurations if you have more 101 | | than one user table or model in the application and you want to have 102 | | separate password reset settings based on the specific user types. 103 | | 104 | | The expire time is the number of minutes that the reset token should be 105 | | considered valid. This security feature keeps tokens short-lived so 106 | | they have less time to be guessed. You may change this as needed. 107 | | 108 | */ 109 | 110 | 'passwords' => [ 111 | 'users' => [ 112 | 'provider' => 'users', 113 | 'table' => 'password_resets', 114 | 'expire' => 60, 115 | 'throttle' => 60, 116 | ], 117 | ], 118 | 119 | /* 120 | |-------------------------------------------------------------------------- 121 | | Password Confirmation Timeout 122 | |-------------------------------------------------------------------------- 123 | | 124 | | Here you may define the amount of seconds before a password confirmation 125 | | times out and the user is prompted to re-enter their password via the 126 | | confirmation screen. By default, the timeout lasts for three hours. 127 | | 128 | */ 129 | 130 | 'password_timeout' => 10800, 131 | 132 | ]; 133 | -------------------------------------------------------------------------------- /config/broadcasting.php: -------------------------------------------------------------------------------- 1 | env('BROADCAST_DRIVER', 'null'), 19 | 20 | /* 21 | |-------------------------------------------------------------------------- 22 | | Broadcast Connections 23 | |-------------------------------------------------------------------------- 24 | | 25 | | Here you may define all of the broadcast connections that will be used 26 | | to broadcast events to other systems or over websockets. Samples of 27 | | each available type of connection are provided inside this array. 28 | | 29 | */ 30 | 31 | 'connections' => [ 32 | 33 | 'pusher' => [ 34 | 'driver' => 'pusher', 35 | 'key' => env('PUSHER_APP_KEY'), 36 | 'secret' => env('PUSHER_APP_SECRET'), 37 | 'app_id' => env('PUSHER_APP_ID'), 38 | 'options' => [ 39 | 'cluster' => env('PUSHER_APP_CLUSTER'), 40 | 'useTLS' => true, 41 | ], 42 | ], 43 | 44 | 'redis' => [ 45 | 'driver' => 'redis', 46 | 'connection' => 'default', 47 | ], 48 | 49 | 'log' => [ 50 | 'driver' => 'log', 51 | ], 52 | 53 | 'null' => [ 54 | 'driver' => 'null', 55 | ], 56 | 57 | ], 58 | 59 | ]; 60 | -------------------------------------------------------------------------------- /config/cache.php: -------------------------------------------------------------------------------- 1 | env('CACHE_DRIVER', 'file'), 22 | 23 | /* 24 | |-------------------------------------------------------------------------- 25 | | Cache Stores 26 | |-------------------------------------------------------------------------- 27 | | 28 | | Here you may define all of the cache "stores" for your application as 29 | | well as their drivers. You may even define multiple stores for the 30 | | same cache driver to group types of items stored in your caches. 31 | | 32 | */ 33 | 34 | 'stores' => [ 35 | 36 | 'apc' => [ 37 | 'driver' => 'apc', 38 | ], 39 | 40 | 'array' => [ 41 | 'driver' => 'array', 42 | ], 43 | 44 | 'database' => [ 45 | 'driver' => 'database', 46 | 'table' => 'cache', 47 | 'connection' => null, 48 | ], 49 | 50 | 'file' => [ 51 | 'driver' => 'file', 52 | 'path' => storage_path('framework/cache/data'), 53 | ], 54 | 55 | 'memcached' => [ 56 | 'driver' => 'memcached', 57 | 'persistent_id' => env('MEMCACHED_PERSISTENT_ID'), 58 | 'sasl' => [ 59 | env('MEMCACHED_USERNAME'), 60 | env('MEMCACHED_PASSWORD'), 61 | ], 62 | 'options' => [ 63 | // Memcached::OPT_CONNECT_TIMEOUT => 2000, 64 | ], 65 | 'servers' => [ 66 | [ 67 | 'host' => env('MEMCACHED_HOST', '127.0.0.1'), 68 | 'port' => env('MEMCACHED_PORT', 11211), 69 | 'weight' => 100, 70 | ], 71 | ], 72 | ], 73 | 74 | 'redis' => [ 75 | 'driver' => 'redis', 76 | 'connection' => 'cache', 77 | ], 78 | 79 | 'dynamodb' => [ 80 | 'driver' => 'dynamodb', 81 | 'key' => env('AWS_ACCESS_KEY_ID'), 82 | 'secret' => env('AWS_SECRET_ACCESS_KEY'), 83 | 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), 84 | 'table' => env('DYNAMODB_CACHE_TABLE', 'cache'), 85 | 'endpoint' => env('DYNAMODB_ENDPOINT'), 86 | ], 87 | 88 | ], 89 | 90 | /* 91 | |-------------------------------------------------------------------------- 92 | | Cache Key Prefix 93 | |-------------------------------------------------------------------------- 94 | | 95 | | When utilizing a RAM based store such as APC or Memcached, there might 96 | | be other applications utilizing the same cache. So, we'll specify a 97 | | value to get prefixed to all our keys so we can avoid collisions. 98 | | 99 | */ 100 | 101 | 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache'), 102 | 103 | ]; 104 | -------------------------------------------------------------------------------- /config/database.php: -------------------------------------------------------------------------------- 1 | env('DB_CONNECTION', 'mysql'), 19 | 20 | /* 21 | |-------------------------------------------------------------------------- 22 | | Database Connections 23 | |-------------------------------------------------------------------------- 24 | | 25 | | Here are each of the database connections setup for your application. 26 | | Of course, examples of configuring each database platform that is 27 | | supported by Laravel is shown below to make development simple. 28 | | 29 | | 30 | | All database work in Laravel is done through the PHP PDO facilities 31 | | so make sure you have the driver for your particular database of 32 | | choice installed on your machine before you begin development. 33 | | 34 | */ 35 | 36 | 'connections' => [ 37 | 38 | 'sqlite' => [ 39 | 'driver' => 'sqlite', 40 | 'url' => env('DATABASE_URL'), 41 | 'database' => env('DB_DATABASE', database_path('database.sqlite')), 42 | 'prefix' => '', 43 | 'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true), 44 | ], 45 | 46 | 'mysql' => [ 47 | 'driver' => 'mysql', 48 | 'url' => env('DATABASE_URL'), 49 | 'host' => env('DB_HOST', '127.0.0.1'), 50 | 'port' => env('DB_PORT', '3306'), 51 | 'database' => env('DB_DATABASE', 'forge'), 52 | 'username' => env('DB_USERNAME', 'forge'), 53 | 'password' => env('DB_PASSWORD', ''), 54 | 'unix_socket' => env('DB_SOCKET', ''), 55 | 'charset' => 'utf8mb4', 56 | 'collation' => 'utf8mb4_unicode_ci', 57 | 'prefix' => '', 58 | 'prefix_indexes' => true, 59 | 'strict' => true, 60 | 'engine' => null, 61 | 'options' => extension_loaded('pdo_mysql') ? array_filter([ 62 | PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), 63 | ]) : [], 64 | ], 65 | 66 | 'pgsql' => [ 67 | 'driver' => 'pgsql', 68 | 'url' => env('DATABASE_URL'), 69 | 'host' => env('DB_HOST', '127.0.0.1'), 70 | 'port' => env('DB_PORT', '5432'), 71 | 'database' => env('DB_DATABASE', 'forge'), 72 | 'username' => env('DB_USERNAME', 'forge'), 73 | 'password' => env('DB_PASSWORD', ''), 74 | 'charset' => 'utf8', 75 | 'prefix' => '', 76 | 'prefix_indexes' => true, 77 | 'schema' => 'public', 78 | 'sslmode' => 'prefer', 79 | ], 80 | 81 | 'sqlsrv' => [ 82 | 'driver' => 'sqlsrv', 83 | 'url' => env('DATABASE_URL'), 84 | 'host' => env('DB_HOST', 'localhost'), 85 | 'port' => env('DB_PORT', '1433'), 86 | 'database' => env('DB_DATABASE', 'forge'), 87 | 'username' => env('DB_USERNAME', 'forge'), 88 | 'password' => env('DB_PASSWORD', ''), 89 | 'charset' => 'utf8', 90 | 'prefix' => '', 91 | 'prefix_indexes' => true, 92 | ], 93 | 94 | ], 95 | 96 | /* 97 | |-------------------------------------------------------------------------- 98 | | Migration Repository Table 99 | |-------------------------------------------------------------------------- 100 | | 101 | | This table keeps track of all the migrations that have already run for 102 | | your application. Using this information, we can determine which of 103 | | the migrations on disk haven't actually been run in the database. 104 | | 105 | */ 106 | 107 | 'migrations' => 'migrations', 108 | 109 | /* 110 | |-------------------------------------------------------------------------- 111 | | Redis Databases 112 | |-------------------------------------------------------------------------- 113 | | 114 | | Redis is an open source, fast, and advanced key-value store that also 115 | | provides a richer body of commands than a typical key-value system 116 | | such as APC or Memcached. Laravel makes it easy to dig right in. 117 | | 118 | */ 119 | 120 | 'redis' => [ 121 | 122 | 'client' => env('REDIS_CLIENT', 'phpredis'), 123 | 124 | 'options' => [ 125 | 'cluster' => env('REDIS_CLUSTER', 'redis'), 126 | 'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'), 127 | ], 128 | 129 | 'default' => [ 130 | 'url' => env('REDIS_URL'), 131 | 'host' => env('REDIS_HOST', '127.0.0.1'), 132 | 'password' => env('REDIS_PASSWORD', null), 133 | 'port' => env('REDIS_PORT', '6379'), 134 | 'database' => env('REDIS_DB', '0'), 135 | ], 136 | 137 | 'cache' => [ 138 | 'url' => env('REDIS_URL'), 139 | 'host' => env('REDIS_HOST', '127.0.0.1'), 140 | 'password' => env('REDIS_PASSWORD', null), 141 | 'port' => env('REDIS_PORT', '6379'), 142 | 'database' => env('REDIS_CACHE_DB', '1'), 143 | ], 144 | 145 | ], 146 | 147 | ]; 148 | -------------------------------------------------------------------------------- /config/filesystems.php: -------------------------------------------------------------------------------- 1 | env('FILESYSTEM_DRIVER', 'local'), 17 | 18 | /* 19 | |-------------------------------------------------------------------------- 20 | | Default Cloud Filesystem Disk 21 | |-------------------------------------------------------------------------- 22 | | 23 | | Many applications store files both locally and in the cloud. For this 24 | | reason, you may specify a default "cloud" driver here. This driver 25 | | will be bound as the Cloud disk implementation in the container. 26 | | 27 | */ 28 | 29 | 'cloud' => env('FILESYSTEM_CLOUD', 's3'), 30 | 31 | /* 32 | |-------------------------------------------------------------------------- 33 | | Filesystem Disks 34 | |-------------------------------------------------------------------------- 35 | | 36 | | Here you may configure as many filesystem "disks" as you wish, and you 37 | | may even configure multiple disks of the same driver. Defaults have 38 | | been setup for each driver as an example of the required options. 39 | | 40 | | Supported Drivers: "local", "ftp", "sftp", "s3" 41 | | 42 | */ 43 | 44 | 'disks' => [ 45 | 46 | 'local' => [ 47 | 'driver' => 'local', 48 | 'root' => storage_path('app'), 49 | ], 50 | 51 | 'public' => [ 52 | 'driver' => 'local', 53 | 'root' => storage_path('app/public'), 54 | 'url' => env('APP_URL').'/storage', 55 | 'visibility' => 'public', 56 | ], 57 | 58 | 's3' => [ 59 | 'driver' => 's3', 60 | 'key' => env('AWS_ACCESS_KEY_ID'), 61 | 'secret' => env('AWS_SECRET_ACCESS_KEY'), 62 | 'region' => env('AWS_DEFAULT_REGION'), 63 | 'bucket' => env('AWS_BUCKET'), 64 | 'url' => env('AWS_URL'), 65 | ], 66 | 67 | ], 68 | 69 | ]; 70 | -------------------------------------------------------------------------------- /config/hashing.php: -------------------------------------------------------------------------------- 1 | 'bcrypt', 19 | 20 | /* 21 | |-------------------------------------------------------------------------- 22 | | Bcrypt Options 23 | |-------------------------------------------------------------------------- 24 | | 25 | | Here you may specify the configuration options that should be used when 26 | | passwords are hashed using the Bcrypt algorithm. This will allow you 27 | | to control the amount of time it takes to hash the given password. 28 | | 29 | */ 30 | 31 | 'bcrypt' => [ 32 | 'rounds' => env('BCRYPT_ROUNDS', 10), 33 | ], 34 | 35 | /* 36 | |-------------------------------------------------------------------------- 37 | | Argon Options 38 | |-------------------------------------------------------------------------- 39 | | 40 | | Here you may specify the configuration options that should be used when 41 | | passwords are hashed using the Argon algorithm. These will allow you 42 | | to control the amount of time it takes to hash the given password. 43 | | 44 | */ 45 | 46 | 'argon' => [ 47 | 'memory' => 1024, 48 | 'threads' => 2, 49 | 'time' => 2, 50 | ], 51 | 52 | ]; 53 | -------------------------------------------------------------------------------- /config/logging.php: -------------------------------------------------------------------------------- 1 | env('LOG_CHANNEL', 'stack'), 21 | 22 | /* 23 | |-------------------------------------------------------------------------- 24 | | Log Channels 25 | |-------------------------------------------------------------------------- 26 | | 27 | | Here you may configure the log channels for your application. Out of 28 | | the box, Laravel uses the Monolog PHP logging library. This gives 29 | | you a variety of powerful log handlers / formatters to utilize. 30 | | 31 | | Available Drivers: "single", "daily", "slack", "syslog", 32 | | "errorlog", "monolog", 33 | | "custom", "stack" 34 | | 35 | */ 36 | 37 | 'channels' => [ 38 | 'stack' => [ 39 | 'driver' => 'stack', 40 | 'channels' => ['single'], 41 | 'ignore_exceptions' => false, 42 | ], 43 | 44 | 'single' => [ 45 | 'driver' => 'single', 46 | 'path' => storage_path('logs/laravel.log'), 47 | 'level' => 'debug', 48 | ], 49 | 50 | 'daily' => [ 51 | 'driver' => 'daily', 52 | 'path' => storage_path('logs/laravel.log'), 53 | 'level' => 'debug', 54 | 'days' => 14, 55 | ], 56 | 57 | 'slack' => [ 58 | 'driver' => 'slack', 59 | 'url' => env('LOG_SLACK_WEBHOOK_URL'), 60 | 'username' => 'Laravel Log', 61 | 'emoji' => ':boom:', 62 | 'level' => 'critical', 63 | ], 64 | 65 | 'papertrail' => [ 66 | 'driver' => 'monolog', 67 | 'level' => 'debug', 68 | 'handler' => SyslogUdpHandler::class, 69 | 'handler_with' => [ 70 | 'host' => env('PAPERTRAIL_URL'), 71 | 'port' => env('PAPERTRAIL_PORT'), 72 | ], 73 | ], 74 | 75 | 'stderr' => [ 76 | 'driver' => 'monolog', 77 | 'handler' => StreamHandler::class, 78 | 'formatter' => env('LOG_STDERR_FORMATTER'), 79 | 'with' => [ 80 | 'stream' => 'php://stderr', 81 | ], 82 | ], 83 | 84 | 'syslog' => [ 85 | 'driver' => 'syslog', 86 | 'level' => 'debug', 87 | ], 88 | 89 | 'errorlog' => [ 90 | 'driver' => 'errorlog', 91 | 'level' => 'debug', 92 | ], 93 | 94 | 'null' => [ 95 | 'driver' => 'monolog', 96 | 'handler' => NullHandler::class, 97 | ], 98 | 99 | 'emergency' => [ 100 | 'path' => storage_path('logs/laravel.log'), 101 | ], 102 | ], 103 | 104 | ]; 105 | -------------------------------------------------------------------------------- /config/mail.php: -------------------------------------------------------------------------------- 1 | env('MAIL_DRIVER', 'smtp'), 20 | 21 | /* 22 | |-------------------------------------------------------------------------- 23 | | SMTP Host Address 24 | |-------------------------------------------------------------------------- 25 | | 26 | | Here you may provide the host address of the SMTP server used by your 27 | | applications. A default option is provided that is compatible with 28 | | the Mailgun mail service which will provide reliable deliveries. 29 | | 30 | */ 31 | 32 | 'host' => env('MAIL_HOST', 'smtp.mailgun.org'), 33 | 34 | /* 35 | |-------------------------------------------------------------------------- 36 | | SMTP Host Port 37 | |-------------------------------------------------------------------------- 38 | | 39 | | This is the SMTP port used by your application to deliver e-mails to 40 | | users of the application. Like the host we have set this value to 41 | | stay compatible with the Mailgun e-mail application by default. 42 | | 43 | */ 44 | 45 | 'port' => env('MAIL_PORT', 587), 46 | 47 | /* 48 | |-------------------------------------------------------------------------- 49 | | Global "From" Address 50 | |-------------------------------------------------------------------------- 51 | | 52 | | You may wish for all e-mails sent by your application to be sent from 53 | | the same address. Here, you may specify a name and address that is 54 | | used globally for all e-mails that are sent by your application. 55 | | 56 | */ 57 | 58 | 'from' => [ 59 | 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'), 60 | 'name' => env('MAIL_FROM_NAME', 'Example'), 61 | ], 62 | 63 | /* 64 | |-------------------------------------------------------------------------- 65 | | E-Mail Encryption Protocol 66 | |-------------------------------------------------------------------------- 67 | | 68 | | Here you may specify the encryption protocol that should be used when 69 | | the application send e-mail messages. A sensible default using the 70 | | transport layer security protocol should provide great security. 71 | | 72 | */ 73 | 74 | 'encryption' => env('MAIL_ENCRYPTION', 'tls'), 75 | 76 | /* 77 | |-------------------------------------------------------------------------- 78 | | SMTP Server Username 79 | |-------------------------------------------------------------------------- 80 | | 81 | | If your SMTP server requires a username for authentication, you should 82 | | set it here. This will get used to authenticate with your server on 83 | | connection. You may also set the "password" value below this one. 84 | | 85 | */ 86 | 87 | 'username' => env('MAIL_USERNAME'), 88 | 89 | 'password' => env('MAIL_PASSWORD'), 90 | 91 | /* 92 | |-------------------------------------------------------------------------- 93 | | Sendmail System Path 94 | |-------------------------------------------------------------------------- 95 | | 96 | | When using the "sendmail" driver to send e-mails, we will need to know 97 | | the path to where Sendmail lives on this server. A default path has 98 | | been provided here, which will work well on most of your systems. 99 | | 100 | */ 101 | 102 | 'sendmail' => '/usr/sbin/sendmail -bs', 103 | 104 | /* 105 | |-------------------------------------------------------------------------- 106 | | Markdown Mail Settings 107 | |-------------------------------------------------------------------------- 108 | | 109 | | If you are using Markdown based email rendering, you may configure your 110 | | theme and component paths here, allowing you to customize the design 111 | | of the emails. Or, you may simply stick with the Laravel defaults! 112 | | 113 | */ 114 | 115 | 'markdown' => [ 116 | 'theme' => 'default', 117 | 118 | 'paths' => [ 119 | resource_path('views/vendor/mail'), 120 | ], 121 | ], 122 | 123 | /* 124 | |-------------------------------------------------------------------------- 125 | | Log Channel 126 | |-------------------------------------------------------------------------- 127 | | 128 | | If you are using the "log" driver, you may specify the logging channel 129 | | if you prefer to keep mail messages separate from other log entries 130 | | for simpler reading. Otherwise, the default channel will be used. 131 | | 132 | */ 133 | 134 | 'log_channel' => env('MAIL_LOG_CHANNEL'), 135 | 136 | ]; 137 | -------------------------------------------------------------------------------- /config/queue.php: -------------------------------------------------------------------------------- 1 | env('QUEUE_CONNECTION', 'sync'), 17 | 18 | /* 19 | |-------------------------------------------------------------------------- 20 | | Queue Connections 21 | |-------------------------------------------------------------------------- 22 | | 23 | | Here you may configure the connection information for each server that 24 | | is used by your application. A default configuration has been added 25 | | for each back-end shipped with Laravel. You are free to add more. 26 | | 27 | | Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null" 28 | | 29 | */ 30 | 31 | 'connections' => [ 32 | 33 | 'sync' => [ 34 | 'driver' => 'sync', 35 | ], 36 | 37 | 'database' => [ 38 | 'driver' => 'database', 39 | 'table' => 'jobs', 40 | 'queue' => 'default', 41 | 'retry_after' => 90, 42 | ], 43 | 44 | 'beanstalkd' => [ 45 | 'driver' => 'beanstalkd', 46 | 'host' => 'localhost', 47 | 'queue' => 'default', 48 | 'retry_after' => 90, 49 | 'block_for' => 0, 50 | ], 51 | 52 | 'sqs' => [ 53 | 'driver' => 'sqs', 54 | 'key' => env('AWS_ACCESS_KEY_ID'), 55 | 'secret' => env('AWS_SECRET_ACCESS_KEY'), 56 | 'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'), 57 | 'queue' => env('SQS_QUEUE', 'your-queue-name'), 58 | 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), 59 | ], 60 | 61 | 'redis' => [ 62 | 'driver' => 'redis', 63 | 'connection' => 'default', 64 | 'queue' => env('REDIS_QUEUE', 'default'), 65 | 'retry_after' => 90, 66 | 'block_for' => null, 67 | ], 68 | 69 | ], 70 | 71 | /* 72 | |-------------------------------------------------------------------------- 73 | | Failed Queue Jobs 74 | |-------------------------------------------------------------------------- 75 | | 76 | | These options configure the behavior of failed queue job logging so you 77 | | can control which database and table are used to store the jobs that 78 | | have failed. You may change them to any database / table you wish. 79 | | 80 | */ 81 | 82 | 'failed' => [ 83 | 'driver' => env('QUEUE_FAILED_DRIVER', 'database'), 84 | 'database' => env('DB_CONNECTION', 'mysql'), 85 | 'table' => 'failed_jobs', 86 | ], 87 | 88 | ]; 89 | -------------------------------------------------------------------------------- /config/services.php: -------------------------------------------------------------------------------- 1 | [ 18 | 'domain' => env('MAILGUN_DOMAIN'), 19 | 'secret' => env('MAILGUN_SECRET'), 20 | 'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'), 21 | ], 22 | 23 | 'postmark' => [ 24 | 'token' => env('POSTMARK_TOKEN'), 25 | ], 26 | 27 | 'ses' => [ 28 | 'key' => env('AWS_ACCESS_KEY_ID'), 29 | 'secret' => env('AWS_SECRET_ACCESS_KEY'), 30 | 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), 31 | ], 32 | 33 | ]; 34 | -------------------------------------------------------------------------------- /config/view.php: -------------------------------------------------------------------------------- 1 | [ 17 | resource_path('views'), 18 | ], 19 | 20 | /* 21 | |-------------------------------------------------------------------------- 22 | | Compiled View Path 23 | |-------------------------------------------------------------------------- 24 | | 25 | | This option determines where all the compiled Blade templates will be 26 | | stored for your application. Typically, this is within the storage 27 | | directory. However, as usual, you are free to change this value. 28 | | 29 | */ 30 | 31 | 'compiled' => env( 32 | 'VIEW_COMPILED_PATH', 33 | realpath(storage_path('framework/views')) 34 | ), 35 | 36 | ]; 37 | -------------------------------------------------------------------------------- /database/.gitignore: -------------------------------------------------------------------------------- 1 | *.sqlite 2 | *.sqlite-journal 3 | -------------------------------------------------------------------------------- /database/factories/UserFactory.php: -------------------------------------------------------------------------------- 1 | define(User::class, function (Faker $faker) { 21 | return [ 22 | 'name' => $faker->name, 23 | 'email' => $faker->unique()->safeEmail, 24 | 'email_verified_at' => now(), 25 | 'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password 26 | 'remember_token' => Str::random(10), 27 | ]; 28 | }); 29 | -------------------------------------------------------------------------------- /database/migrations/2014_10_12_000000_create_users_table.php: -------------------------------------------------------------------------------- 1 | bigIncrements('id'); 18 | $table->string('name'); 19 | $table->string('email'); 20 | $table->timestamp('email_verified_at')->nullable(); 21 | $table->string('password'); 22 | $table->rememberToken(); 23 | $table->timestamps(); 24 | }); 25 | } 26 | 27 | /** 28 | * Reverse the migrations. 29 | * 30 | * @return void 31 | */ 32 | public function down() 33 | { 34 | Schema::dropIfExists('users'); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /database/migrations/2014_10_12_100000_create_password_resets_table.php: -------------------------------------------------------------------------------- 1 | string('email'); 18 | $table->string('token'); 19 | $table->timestamp('created_at')->nullable(); 20 | }); 21 | } 22 | 23 | /** 24 | * Reverse the migrations. 25 | * 26 | * @return void 27 | */ 28 | public function down() 29 | { 30 | Schema::dropIfExists('password_resets'); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /database/migrations/2020_02_22_130833_create_jobs_table.php: -------------------------------------------------------------------------------- 1 | bigIncrements('id'); 18 | $table->timestamps(); 19 | $table->string('title'); 20 | $table->integer('user_id'); 21 | $table->string('location'); 22 | $table->text('requirements'); 23 | $table->float('salary'); 24 | }); 25 | } 26 | 27 | /** 28 | * Reverse the migrations. 29 | * 30 | * @return void 31 | */ 32 | public function down() 33 | { 34 | Schema::dropIfExists('jobs'); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /database/migrations/2020_02_26_023002_add_some_fields_to_jobs_table.php: -------------------------------------------------------------------------------- 1 | integer('vacancy'); 19 | $table->date('deadline'); 20 | $table->string('gender'); 21 | $table->string('age'); 22 | $table->string('employment_type'); 23 | $table->text('responsibilites'); 24 | $table->text('experience'); 25 | $table->text('education'); 26 | $table->text('benifits'); 27 | $table->text('apply_instruction'); 28 | }); 29 | } 30 | 31 | /** 32 | * Reverse the migrations. 33 | * 34 | * @return void 35 | */ 36 | public function down() 37 | { 38 | Schema::table('jobs', function (Blueprint $table) { 39 | // 40 | }); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /database/migrations/2020_02_26_040100_rename_and_add_field_to_jobs_table.php: -------------------------------------------------------------------------------- 1 | renameColumn('id', 'job_id'); 19 | $table->renameColumn('user_id', 'employeer_id'); 20 | $table->integer('location_id'); 21 | $table->integer('category_id'); 22 | $table->string('category'); 23 | $table->text('address'); 24 | $table->text('additional_requirements'); 25 | }); 26 | } 27 | 28 | /** 29 | * Reverse the migrations. 30 | * 31 | * @return void 32 | */ 33 | public function down() 34 | { 35 | Schema::table('jobs', function (Blueprint $table) { 36 | // 37 | }); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /database/migrations/2020_02_26_050831_rename_and_drop_field_to_jobs_table.php: -------------------------------------------------------------------------------- 1 | renameColumn('responsibilites', 'responsibilities'); 19 | }); 20 | } 21 | 22 | /** 23 | * Reverse the migrations. 24 | * 25 | * @return void 26 | */ 27 | public function down() 28 | { 29 | Schema::table('jobs', function (Blueprint $table) { 30 | // 31 | 32 | }); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /database/migrations/2020_02_26_051443_drop_field_to_jobs_table.php: -------------------------------------------------------------------------------- 1 | string('salary')->change(); 19 | }); 20 | } 21 | 22 | /** 23 | * Reverse the migrations. 24 | * 25 | * @return void 26 | */ 27 | public function down() 28 | { 29 | Schema::table('jobs', function (Blueprint $table) { 30 | // 31 | }); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /database/migrations/2020_02_29_170116_create_categories_table.php: -------------------------------------------------------------------------------- 1 | bigIncrements('category_id'); 18 | $table->string('category_name'); 19 | $table->integer('no_jobs'); 20 | $table->timestamps(); 21 | }); 22 | } 23 | 24 | /** 25 | * Reverse the migrations. 26 | * 27 | * @return void 28 | */ 29 | public function down() 30 | { 31 | Schema::dropIfExists('categories'); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /database/migrations/2020_02_29_192132_create_education_table.php: -------------------------------------------------------------------------------- 1 | bigIncrements('id'); 18 | $table->integer('user_id')->unsigned(); 19 | 20 | $table->foreign('user_id') 21 | ->references('id')->on('users') 22 | ->onDelete('cascade'); 23 | 24 | $table->string('degree_name'); 25 | $table->string('subject'); 26 | $table->text('institute'); 27 | $table->string('location'); 28 | $table->date('passing_year'); 29 | $table->string('result'); 30 | $table->timestamps(); 31 | }); 32 | } 33 | 34 | /** 35 | * Reverse the migrations. 36 | * 37 | * @return void 38 | */ 39 | public function down() 40 | { 41 | Schema::dropIfExists('education'); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /database/migrations/2020_03_01_064543_drop_category_id_and_location_id_field_from_jobs_table.php: -------------------------------------------------------------------------------- 1 | dropColumn('category_id'); 18 | $table->dropColumn('location_id'); 19 | }); 20 | } 21 | 22 | /** 23 | * Reverse the migrations. 24 | * 25 | * @return void 26 | */ 27 | public function down() 28 | { 29 | Schema::table('jobs', function (Blueprint $table) { 30 | // 31 | }); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /database/migrations/2020_03_01_081528_add_keyword_and_jobcontext_fieldz_to_jobs_table.php: -------------------------------------------------------------------------------- 1 | text('keywords')->nullable(); 19 | $table->text('job_context')->nullable(); 20 | }); 21 | } 22 | 23 | /** 24 | * Reverse the migrations. 25 | * 26 | * @return void 27 | */ 28 | public function down() 29 | { 30 | Schema::table('jobs', function (Blueprint $table) { 31 | // 32 | }); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /database/migrations/2020_03_02_083205_add_is_user_field_to_users_table.php: -------------------------------------------------------------------------------- 1 | boolean('is_user')->default(false); 31 | }); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /database/migrations/2020_03_02_083931_create_employeers_table.php: -------------------------------------------------------------------------------- 1 | bigIncrements('id'); 18 | $table->string('name'); 19 | $table->boolean('is_employeer')->default(false); 20 | $table->string('email'); 21 | $table->string('mobile'); 22 | $table->text('address'); 23 | $table->string('website'); 24 | $table->string('company_type'); 25 | $table->timestamps(); 26 | }); 27 | } 28 | 29 | /** 30 | * Reverse the migrations. 31 | * 32 | * @return void 33 | */ 34 | public function down() 35 | { 36 | Schema::dropIfExists('employeers'); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /database/migrations/2020_03_02_084924_add_password_field_to_employeers_table.php: -------------------------------------------------------------------------------- 1 | string('password'); 19 | }); 20 | } 21 | 22 | /** 23 | * Reverse the migrations. 24 | * 25 | * @return void 26 | */ 27 | public function down() 28 | { 29 | Schema::table('employeers', function (Blueprint $table) { 30 | // 31 | }); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /database/migrations/2020_03_04_095413_add_is_users_field_to_users_table.php: -------------------------------------------------------------------------------- 1 | boolean('is_user')->default(false); 19 | }); 20 | } 21 | 22 | /** 23 | * Reverse the migrations. 24 | * 25 | * @return void 26 | */ 27 | public function down() 28 | { 29 | Schema::table('users', function (Blueprint $table) { 30 | // 31 | }); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /database/migrations/2020_03_04_192211_create_applications_table.php: -------------------------------------------------------------------------------- 1 | bigIncrements('id'); 18 | $table->integer('job_id'); 19 | $table->integer('employeer_id'); 20 | $table->integer('user_id'); 21 | $table->timestamps(); 22 | }); 23 | } 24 | 25 | /** 26 | * Reverse the migrations. 27 | * 28 | * @return void 29 | */ 30 | public function down() 31 | { 32 | Schema::dropIfExists('applications'); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /database/migrations/2020_03_08_090444_create_saved_jobs_table.php: -------------------------------------------------------------------------------- 1 | bigIncrements('id'); 18 | $table->integer('user_id'); 19 | $table->integer('job_id'); 20 | $table->integer('employeer_id'); 21 | $table->integer('status'); 22 | $table->timestamps(); 23 | }); 24 | } 25 | 26 | /** 27 | * Reverse the migrations. 28 | * 29 | * @return void 30 | */ 31 | public function down() 32 | { 33 | Schema::dropIfExists('saved_jobs'); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /database/migrations/2020_03_09_181241_create_personalinfos_table.php: -------------------------------------------------------------------------------- 1 | bigIncrements('id'); 18 | $table->integer('user_id'); 19 | $table->string('full_name')->nullable(); 20 | $table->string('photo')->nullable(); 21 | $table->string('linkedin')->nullable(); 22 | $table->string('github')->nullable(); 23 | $table->string('website')->nullable(); 24 | $table->string('facebook')->nullable(); 25 | $table->string('mobile')->nullable(); 26 | $table->string('father')->nullable(); 27 | $table->string('mother')->nullable(); 28 | $table->string('gender')->nullable(); 29 | $table->string('religion')->nullable(); 30 | $table->date('birthdate')->nullable(); 31 | $table->string('nid')->nullable(); 32 | $table->text('permanent_address')->nullable(); 33 | $table->text('present_address')->nullable(); 34 | $table->timestamps(); 35 | }); 36 | } 37 | 38 | /** 39 | * Reverse the migrations. 40 | * 41 | * @return void 42 | */ 43 | public function down() 44 | { 45 | Schema::dropIfExists('personalinfos'); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /database/seeds/DatabaseSeeder.php: -------------------------------------------------------------------------------- 1 | call(UsersTableSeeder::class); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nur-Alam39/job-portal/41c0473b388725f792d2c0397e84526b5dd474aa/icon.png -------------------------------------------------------------------------------- /index_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nur-Alam39/job-portal/41c0473b388725f792d2c0397e84526b5dd474aa/index_background.png -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "scripts": { 4 | "dev": "npm run development", 5 | "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", 6 | "watch": "npm run development -- --watch", 7 | "watch-poll": "npm run watch -- --watch-poll", 8 | "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js", 9 | "prod": "npm run production", 10 | "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js" 11 | }, 12 | "devDependencies": { 13 | "axios": "^0.21", 14 | "bootstrap": "^4.0.0", 15 | "cross-env": "^7.0", 16 | "jquery": "^3.5", 17 | "laravel-mix": "^5.0.1", 18 | "lodash": "^4.17.21", 19 | "popper.js": "^1.12", 20 | "resolve-url-loader": "^3.1.0", 21 | "sass": "^1.15.2", 22 | "sass-loader": "^8.0.0", 23 | "vue-template-compiler": "^2.6.11" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /phpunit.xml: -------------------------------------------------------------------------------- 1 | 2 | 13 | 14 | 15 | ./tests/Unit 16 | 17 | 18 | 19 | ./tests/Feature 20 | 21 | 22 | 23 | 24 | ./app 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /public/.htaccess: -------------------------------------------------------------------------------- 1 | 2 | 3 | Options -MultiViews -Indexes 4 | 5 | 6 | RewriteEngine On 7 | 8 | # Handle Authorization Header 9 | RewriteCond %{HTTP:Authorization} . 10 | RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 11 | 12 | # Redirect Trailing Slashes If Not A Folder... 13 | RewriteCond %{REQUEST_FILENAME} !-d 14 | RewriteCond %{REQUEST_URI} (.+)/$ 15 | RewriteRule ^ %1 [L,R=301] 16 | 17 | # Handle Front Controller... 18 | RewriteCond %{REQUEST_FILENAME} !-d 19 | RewriteCond %{REQUEST_FILENAME} !-f 20 | RewriteRule ^ index.php [L] 21 | 22 | -------------------------------------------------------------------------------- /public/bootstrap4/css/bootstrap-reboot.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Reboot v4.4.1 (https://getbootstrap.com/) 3 | * Copyright 2011-2019 The Bootstrap Authors 4 | * Copyright 2011-2019 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 6 | * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) 7 | */*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]){color:inherit;text-decoration:none}a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important} 8 | /*# sourceMappingURL=bootstrap-reboot.min.css.map */ -------------------------------------------------------------------------------- /public/brand_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nur-Alam39/job-portal/41c0473b388725f792d2c0397e84526b5dd474aa/public/brand_logo.png -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nur-Alam39/job-portal/41c0473b388725f792d2c0397e84526b5dd474aa/public/favicon.ico -------------------------------------------------------------------------------- /public/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nur-Alam39/job-portal/41c0473b388725f792d2c0397e84526b5dd474aa/public/favicon.png -------------------------------------------------------------------------------- /public/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nur-Alam39/job-portal/41c0473b388725f792d2c0397e84526b5dd474aa/public/icon.png -------------------------------------------------------------------------------- /public/index.php: -------------------------------------------------------------------------------- 1 | 8 | */ 9 | 10 | define('LARAVEL_START', microtime(true)); 11 | 12 | /* 13 | |-------------------------------------------------------------------------- 14 | | Register The Auto Loader 15 | |-------------------------------------------------------------------------- 16 | | 17 | | Composer provides a convenient, automatically generated class loader for 18 | | our application. We just need to utilize it! We'll simply require it 19 | | into the script here so that we don't have to worry about manual 20 | | loading any of our classes later on. It feels great to relax. 21 | | 22 | */ 23 | 24 | require __DIR__.'/../vendor/autoload.php'; 25 | 26 | /* 27 | |-------------------------------------------------------------------------- 28 | | Turn On The Lights 29 | |-------------------------------------------------------------------------- 30 | | 31 | | We need to illuminate PHP development, so let us turn on the lights. 32 | | This bootstraps the framework and gets it ready for use, then it 33 | | will load up this application so that we can run it and send 34 | | the responses back to the browser and delight our users. 35 | | 36 | */ 37 | 38 | $app = require_once __DIR__.'/../bootstrap/app.php'; 39 | 40 | /* 41 | |-------------------------------------------------------------------------- 42 | | Run The Application 43 | |-------------------------------------------------------------------------- 44 | | 45 | | Once we have the application, we can handle the incoming request 46 | | through the kernel, and send the associated response back to 47 | | the client's browser allowing them to enjoy the creative 48 | | and wonderful application we have prepared for them. 49 | | 50 | */ 51 | 52 | $kernel = $app->make(Illuminate\Contracts\Http\Kernel::class); 53 | 54 | $response = $kernel->handle( 55 | $request = Illuminate\Http\Request::capture() 56 | ); 57 | 58 | $response->send(); 59 | 60 | $kernel->terminate($request, $response); 61 | -------------------------------------------------------------------------------- /public/mix-manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "/js/app.js": "/js/app.js", 3 | "/css/app.css": "/css/app.css" 4 | } 5 | -------------------------------------------------------------------------------- /public/profile_photos/1583812368.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nur-Alam39/job-portal/41c0473b388725f792d2c0397e84526b5dd474aa/public/profile_photos/1583812368.png -------------------------------------------------------------------------------- /public/profile_photos/1583812836.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nur-Alam39/job-portal/41c0473b388725f792d2c0397e84526b5dd474aa/public/profile_photos/1583812836.png -------------------------------------------------------------------------------- /public/profile_photos/1583814638.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nur-Alam39/job-portal/41c0473b388725f792d2c0397e84526b5dd474aa/public/profile_photos/1583814638.jpeg -------------------------------------------------------------------------------- /public/profile_photos/1583815329.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nur-Alam39/job-portal/41c0473b388725f792d2c0397e84526b5dd474aa/public/profile_photos/1583815329.png -------------------------------------------------------------------------------- /public/profile_photos/1583815349.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nur-Alam39/job-portal/41c0473b388725f792d2c0397e84526b5dd474aa/public/profile_photos/1583815349.png -------------------------------------------------------------------------------- /public/profile_photos/1583816699.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nur-Alam39/job-portal/41c0473b388725f792d2c0397e84526b5dd474aa/public/profile_photos/1583816699.jpeg -------------------------------------------------------------------------------- /public/profile_photos/1583816884.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nur-Alam39/job-portal/41c0473b388725f792d2c0397e84526b5dd474aa/public/profile_photos/1583816884.jpeg -------------------------------------------------------------------------------- /public/profile_photos/1583816939.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nur-Alam39/job-portal/41c0473b388725f792d2c0397e84526b5dd474aa/public/profile_photos/1583816939.jpeg -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /resources/js/app.js: -------------------------------------------------------------------------------- 1 | require('./bootstrap'); 2 | -------------------------------------------------------------------------------- /resources/js/bootstrap.js: -------------------------------------------------------------------------------- 1 | window._ = require('lodash'); 2 | 3 | /** 4 | * We'll load jQuery and the Bootstrap jQuery plugin which provides support 5 | * for JavaScript based Bootstrap features such as modals and tabs. This 6 | * code may be modified to fit the specific needs of your application. 7 | */ 8 | 9 | try { 10 | window.Popper = require('popper.js').default; 11 | window.$ = window.jQuery = require('jquery'); 12 | 13 | require('bootstrap'); 14 | } catch (e) {} 15 | 16 | /** 17 | * We'll load the axios HTTP library which allows us to easily issue requests 18 | * to our Laravel back-end. This library automatically handles sending the 19 | * CSRF token as a header based on the value of the "XSRF" token cookie. 20 | */ 21 | 22 | window.axios = require('axios'); 23 | 24 | window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; 25 | 26 | /** 27 | * Echo exposes an expressive API for subscribing to channels and listening 28 | * for events that are broadcast by Laravel. Echo and event broadcasting 29 | * allows your team to easily build robust real-time web applications. 30 | */ 31 | 32 | // import Echo from 'laravel-echo'; 33 | 34 | // window.Pusher = require('pusher-js'); 35 | 36 | // window.Echo = new Echo({ 37 | // broadcaster: 'pusher', 38 | // key: process.env.MIX_PUSHER_APP_KEY, 39 | // cluster: process.env.MIX_PUSHER_APP_CLUSTER, 40 | // encrypted: true 41 | // }); 42 | -------------------------------------------------------------------------------- /resources/lang/en/auth.php: -------------------------------------------------------------------------------- 1 | 'These credentials do not match our records.', 17 | 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', 18 | 19 | ]; 20 | -------------------------------------------------------------------------------- /resources/lang/en/pagination.php: -------------------------------------------------------------------------------- 1 | '« Previous', 17 | 'next' => 'Next »', 18 | 19 | ]; 20 | -------------------------------------------------------------------------------- /resources/lang/en/passwords.php: -------------------------------------------------------------------------------- 1 | 'Your password has been reset!', 17 | 'sent' => 'We have e-mailed your password reset link!', 18 | 'throttled' => 'Please wait before retrying.', 19 | 'token' => 'This password reset token is invalid.', 20 | 'user' => "We can't find a user with that e-mail address.", 21 | 22 | ]; 23 | -------------------------------------------------------------------------------- /resources/sass/_variables.scss: -------------------------------------------------------------------------------- 1 | // Body 2 | $body-bg: #f8fafc; 3 | 4 | // Typography 5 | $font-family-sans-serif: 'Nunito', sans-serif; 6 | $font-size-base: 0.9rem; 7 | $line-height-base: 1.6; 8 | 9 | // Colors 10 | $blue: #3490dc; 11 | $indigo: #6574cd; 12 | $purple: #9561e2; 13 | $pink: #f66d9b; 14 | $red: #e3342f; 15 | $orange: #f6993f; 16 | $yellow: #ffed4a; 17 | $green: #38c172; 18 | $teal: #4dc0b5; 19 | $cyan: #6cb2eb; 20 | -------------------------------------------------------------------------------- /resources/sass/app.scss: -------------------------------------------------------------------------------- 1 | // Fonts 2 | @import url('https://fonts.googleapis.com/css?family=Nunito'); 3 | 4 | // Variables 5 | @import 'variables'; 6 | 7 | // Bootstrap 8 | @import '~bootstrap/scss/bootstrap'; 9 | -------------------------------------------------------------------------------- /resources/views/auth/login.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layout.app') 2 | 3 | @section('content') 4 |
5 |
6 |
7 |
8 |

{{ isset($url) ? ucwords($url) : ""}} {{ __('Login') }}

9 | 10 |
11 | @isset($url) 12 |
13 | @else 14 | 15 | @endisset 16 | 17 | @csrf 18 |
19 | 20 | 21 |
22 | 23 | 24 | @error('email') 25 | 26 | {{ $message }} 27 | 28 | @enderror 29 |
30 |
31 | 32 |
33 | 34 | 35 |
36 | 37 | 38 | @error('password') 39 | 40 | {{ $message }} 41 | 42 | @enderror 43 |
44 |
45 | 46 |
47 |
48 |
49 | 50 | 51 | 54 |
55 |
56 |
57 | 58 |
59 |
60 | 63 | 64 | @if (Route::has('password.request')) 65 | 66 | Forgot Your Password? 67 | 68 | @endif 69 |
70 |
71 |
72 | 73 | @isset($url) 74 | JOIN NOW as an Employeer 75 | @else 76 | JOIN NOW as a Job Seeker 77 | @endisset 78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 | @endsection 86 | -------------------------------------------------------------------------------- /resources/views/auth/passwords/confirm.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts.app') 2 | 3 | @section('content') 4 |
5 |
6 |
7 |
8 |
{{ __('Confirm Password') }}
9 | 10 |
11 | {{ __('Please confirm your password before continuing.') }} 12 | 13 |
14 | @csrf 15 | 16 |
17 | 18 | 19 |
20 | 21 | 22 | @error('password') 23 | 24 | {{ $message }} 25 | 26 | @enderror 27 |
28 |
29 | 30 |
31 |
32 | 35 | 36 | @if (Route::has('password.request')) 37 | 38 | {{ __('Forgot Your Password?') }} 39 | 40 | @endif 41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 | @endsection 50 | -------------------------------------------------------------------------------- /resources/views/auth/passwords/email.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layout.app') 2 | 3 | @section('content') 4 |
> 5 |
6 |
7 |
8 |
{{ __('Reset Password') }}
9 | 10 |
11 | @if (session('status')) 12 | 15 | @endif 16 | 17 |
18 | @csrf 19 | 20 |
21 | 22 | 23 |
24 | 25 | 26 | @error('email') 27 | 28 | {{ $message }} 29 | 30 | @enderror 31 |
32 |
33 | 34 |
35 |
36 | 39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 | @endsection 48 | -------------------------------------------------------------------------------- /resources/views/auth/passwords/reset.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts.app') 2 | 3 | @section('content') 4 |
5 |
6 |
7 |
8 |
{{ __('Reset Password') }}
9 | 10 |
11 |
12 | @csrf 13 | 14 | 15 | 16 |
17 | 18 | 19 |
20 | 21 | 22 | @error('email') 23 | 24 | {{ $message }} 25 | 26 | @enderror 27 |
28 |
29 | 30 |
31 | 32 | 33 |
34 | 35 | 36 | @error('password') 37 | 38 | {{ $message }} 39 | 40 | @enderror 41 |
42 |
43 | 44 |
45 | 46 | 47 |
48 | 49 |
50 |
51 | 52 |
53 |
54 | 57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 | @endsection 66 | -------------------------------------------------------------------------------- /resources/views/auth/verify.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layout.app') 2 | 3 | @section('content') 4 |
5 |
6 |
7 |
8 |
{{ __('Verify Your Email Address') }}
9 | 10 |
11 | @if (session('resent')) 12 | 15 | @endif 16 | 17 | {{ __('Before proceeding, please check your email for a verification link.') }} 18 | {{ __('If you did not receive the email') }}, 19 |
20 | @csrf 21 | . 22 |
23 |
24 |
25 |
26 |
27 |
28 | @endsection 29 | -------------------------------------------------------------------------------- /resources/views/categories/create.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layout.app') 2 | @section('content') 3 | 4 | 5 | 15 | 16 | 17 |
18 |

Add New Category

19 | View all 20 |
21 | @csrf 22 |
23 |
24 | 25 | 26 |
27 |
28 | 29 | 30 |
31 |
32 | 33 | 34 |
35 |
36 | 37 | Cancel 38 |
39 |
40 |
41 |
42 | 43 | 44 | @endsection -------------------------------------------------------------------------------- /resources/views/categories/edit.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layout.app') 2 | @section('content') 3 | 4 | 5 | 6 | 7 | 8 |
9 |

Edit Category Information

10 | View all 11 |
12 | @csrf 13 |
14 |
15 | 16 |

{{$category->category_id}}

17 |
18 |
19 | 20 | 21 |
22 |
23 | 24 | 25 |
26 |
27 | 28 | 29 |
30 |
31 |
32 |
33 | 34 | 35 | @endsection -------------------------------------------------------------------------------- /resources/views/categories/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layout.app') 2 | @section('content') 3 | 4 | 5 | 7 | 8 | 9 |
10 |

All Categories List

11 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | @foreach($categories as $category) 25 | 26 | 27 | 28 | 29 | 33 | 34 | @endforeach 35 | 36 |
IDCategory NameNo. of Current JobsOption
{{$category->category_id}}{{$category->category_name}}{{$category->no_jobs}} 30 | Edit | 31 | Delete 32 |
37 |
38 | 39 | 40 | @endsection -------------------------------------------------------------------------------- /resources/views/employeer.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layout.app') 2 | 3 | @section('content') 4 |
5 |
6 |
7 |
8 |
Dashboard
9 | 10 |
11 | Hi boss! 12 | {{ Auth::guard('employeer')->user()->name }} 13 |
14 |
15 |
16 |
17 |
18 | @endsection -------------------------------------------------------------------------------- /resources/views/employeers/applicants.blade.php: -------------------------------------------------------------------------------- 1 | 7 | @extends('layout.app') 8 | @section('content') 9 |
10 |

{{ Auth::guard('employeer')->user()->name }}

11 | @php 12 | $employeer_id = Auth::guard('employeer')->user()->id; 13 | $i = 1 14 | @endphp 15 |
Applicants Information
16 | Back 17 | 18 | 19 | 20 | 21 | 22 | @foreach($applicants as $applicant) 23 | @foreach(Job::where('job_id', '=', $applicant->job_id)->get() as $job) 24 | @foreach(User::where('id', '=', $applicant->user_id)->get() as $user) 25 | 26 | 27 | 28 | 29 | 30 | 31 | 35 | 36 | @endforeach 37 | @endforeach 38 | @endforeach 39 | 40 |
NoJob titlePostedApplicant NameApplied dateAction
{{ $i++ }}{{ $job->title }}{{date('d-M-Y', strtotime($job->updated_at))}}{{ $user->name }}{{date('d-M-Y', strtotime($applicant->created_at))}} 32 | View CV | 33 | Delete 34 |
41 |
42 | @endsection -------------------------------------------------------------------------------- /resources/views/employeers/dashboard.blade.php: -------------------------------------------------------------------------------- 1 | 6 | @extends('layout.app') 7 | @section('content') 8 |
9 | 10 |

{{ Auth::guard('employeer')->user()->name }}

11 | @php 12 | $employeer_id = Auth::guard('employeer')->user()->id 13 | @endphp 14 | 21 | 71 |
72 | @endsection -------------------------------------------------------------------------------- /resources/views/home.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layout.app') 2 | 3 | @section('content') 4 |
5 |
6 |
7 |
8 |
Dashboard
9 | 10 |
11 | Hi there, regular user 12 |
13 |
14 |
15 |
16 |
17 | @endsection -------------------------------------------------------------------------------- /resources/views/jobs/create.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 5 | @extends('layout.app') 6 | @section('content') 7 | 8 | 9 | 12 | 13 | 14 |
15 |

Post a Job

16 | 17 |
18 | @csrf 19 |
20 |
21 | 22 | 23 |
24 |
25 | 26 | 27 |
28 |
29 | 30 | 31 |
32 |
33 |
34 |
35 | 36 | 42 |
43 |
44 | 45 | 46 |
47 |
48 | 49 | 58 |
59 |
60 | 61 | 66 |
67 |
68 | 69 | 70 |
71 |
72 |
73 |
74 | 75 | 80 |
81 |
82 | 83 | 84 |
85 |
86 |
87 | 88 | 89 |
90 |
91 |
92 | 93 | 94 |
95 |
96 | 97 | 98 |
99 |
100 |
101 | 102 | 103 |
104 |
105 | 106 | 107 |
108 |
109 |
110 | 111 | 112 |
113 |
114 | 115 | 116 |
117 |
118 |
119 | 120 |
121 | 122 |
123 |
124 | 125 | 126 | @endsection -------------------------------------------------------------------------------- /resources/views/layouts/auth.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | {{ config('app.name', 'Laravel') }} 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 64 | 65 |
66 | @yield('content') 67 |
68 |
69 | 70 | -------------------------------------------------------------------------------- /resources/views/user.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts.auth') 2 | 3 | @section('content') 4 |
5 |
6 |
7 |
8 |
Dashboard
9 | 10 |
11 | Hi there, awesome blogger 12 |
13 |
14 |
15 |
16 |
17 | @endsection -------------------------------------------------------------------------------- /resources/views/users/education/create.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layout.app') 2 | @section('content') 3 | 4 | 5 | 15 | 16 | 17 |
18 |

Add New Educational Degree

19 | View all 20 |
21 |
22 | @csrf 23 |
24 |
25 | 26 | 27 |
28 |
29 | 30 | 31 |
32 |
33 |
34 |
35 | 36 | 37 |
38 |
39 | 40 | 41 |
42 |
43 |
44 |
45 | 46 | 47 |
48 |
49 | 50 | 51 |
52 |
53 |
54 |
55 | 56 |
57 |
58 |
59 |
60 | 61 | 62 | @endsection -------------------------------------------------------------------------------- /resources/views/users/education/edit.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layout.app') 2 | @section('content') 3 | 4 | 5 | 15 | 16 | 17 |
18 |

Edit Educational Information

19 | View all 20 |
21 |
22 | @csrf 23 |
24 |
25 | 26 | 27 |
28 |
29 | 30 | 31 |
32 |
33 |
34 |
35 | 36 | 37 |
38 |
39 | 40 | 41 |
42 |
43 |
44 |
45 | 46 | 47 |
48 |
49 | 50 | 51 |
52 |
53 |
54 |
55 | 56 |
57 |
58 |
59 |
60 | 61 | 62 | @endsection -------------------------------------------------------------------------------- /resources/views/users/education/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layout.app') 2 | @section('content') 3 | 4 | 5 | 7 | 8 | 9 |
10 |

Educational Qualifications

11 | 12 | + New Degree 13 | 14 | 15 | View Profile 16 | 17 | @foreach($education as $user_education) 18 |
19 |
20 |
{{$user_education->institute}}, {{$user_education->location}}
21 |
{{$user_education->degree_name}}, {{$user_education->subject}}
22 |
  • 23 | 24 |
  • 25 |
  • 26 | Passing Year: {{date('F Y', strtotime($user_education->passing_year) + 6*3600) }}   27 | Result: {{$user_education->result}} 28 |
  • 29 | 30 | Edit 31 | Remove 32 | 33 |
    34 |
    35 | @endforeach 36 |
    37 | 38 | 39 | @endsection -------------------------------------------------------------------------------- /resources/views/users/experience/create.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nur-Alam39/job-portal/41c0473b388725f792d2c0397e84526b5dd474aa/resources/views/users/experience/create.blade.php -------------------------------------------------------------------------------- /resources/views/users/experience/edit.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nur-Alam39/job-portal/41c0473b388725f792d2c0397e84526b5dd474aa/resources/views/users/experience/edit.blade.php -------------------------------------------------------------------------------- /resources/views/users/experience/index.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nur-Alam39/job-portal/41c0473b388725f792d2c0397e84526b5dd474aa/resources/views/users/experience/index.blade.php -------------------------------------------------------------------------------- /resources/views/users/personalinfo/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layout.app') 2 | @section('content') 3 | 4 | 5 | 7 | 8 | 9 |
    10 |

    Personal Information

    11 |
    12 | 13 | View Profile 14 | 15 | @if ($personalinfo->count() == 0) 16 |
    No information is added
    17 | 18 | Add Information 19 | 20 | @endif 21 | 22 | @foreach($personalinfo as $user_personalinfo) 23 | 24 | Edit Information 25 | 26 | 27 | 28 | 29 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |
    Profile Image 30 | 31 |
    Full Name{{$user_personalinfo->full_name}}
    Father's Name{{$user_personalinfo->father}}
    Mother's Name{{$user_personalinfo->mother}}
    Gender{{$user_personalinfo->gender}}
    Religion{{$user_personalinfo->religion}}
    Birth date{{$user_personalinfo->birthdate}}
    NID{{$user_personalinfo->nid}}
    Linkedin{{$user_personalinfo->linkedin}}
    Website{{$user_personalinfo->website}}
    facebook{{$user_personalinfo->facebook}}
    Github{{$user_personalinfo->github}}
    Mobile{{$user_personalinfo->mobile}}
    Present Address{{$user_personalinfo->present_address}}
    Permanent Address{{$user_personalinfo->permanent_address}}
    48 | @endforeach 49 |
    50 | 51 | 52 | @endsection -------------------------------------------------------------------------------- /resources/views/users/projects/create.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layout.app') 2 | @section('content') 3 | 4 | 5 | 15 | 16 | 17 |
    18 |

    Add New Educational Degree

    19 | View all 20 |
    21 |
    22 | @csrf 23 |
    24 |
    25 | 26 | 27 |
    28 |
    29 | 30 | 31 |
    32 |
    33 |
    34 |
    35 | 36 | 37 |
    38 |
    39 | 40 | 41 |
    42 |
    43 |
    44 |
    45 | 46 | 47 |
    48 |
    49 | 50 | 51 |
    52 |
    53 |
    54 |
    55 | 56 |
    57 |
    58 |
    59 |
    60 | 61 | 62 | @endsection -------------------------------------------------------------------------------- /resources/views/users/projects/edit.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layout.app') 2 | @section('content') 3 | 4 | 5 | 15 | 16 | 17 |
    18 |

    Edit Educational Information

    19 | View all 20 |
    21 |
    22 | @csrf 23 |
    24 |
    25 | 26 | 27 |
    28 |
    29 | 30 | 31 |
    32 |
    33 |
    34 |
    35 | 36 | 37 |
    38 |
    39 | 40 | 41 |
    42 |
    43 |
    44 |
    45 | 46 | 47 |
    48 |
    49 | 50 | 51 |
    52 |
    53 |
    54 |
    55 | 56 |
    57 |
    58 |
    59 |
    60 | 61 | 62 | @endsection -------------------------------------------------------------------------------- /resources/views/users/projects/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layout.app') 2 | @section('content') 3 | 4 | 5 | 7 | 8 | 9 |
    10 |

    Educational Qualifications

    11 | 12 | + New Degree 13 | 14 | 15 | View Profile 16 | 17 | @foreach($education as $user_education) 18 |
    19 |
    20 |
    {{$user_education->institute}}, {{$user_education->location}}
    21 |
    {{$user_education->degree_name}}, {{$user_education->subject}}
    22 |
  • 23 | 24 |
  • 25 |
  • 26 | Passing Year: {{date('F Y', strtotime($user_education->passing_year) + 6*3600) }}   27 | Result: {{$user_education->result}} 28 |
  • 29 | 30 | Edit 31 | Remove 32 | 33 |
    34 |
    35 | @endforeach 36 |
    37 | 38 | 39 | @endsection -------------------------------------------------------------------------------- /resources/views/users/public_profile.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layout.app') 2 | @section('content') 3 | 4 | 5 | 6 | 7 | 8 | 9 | Opportunity 10 | 11 | 12 | 36 | 37 | 38 | 39 |
    40 |

    Public Job Profile

    41 | 42 |
    43 |
    44 |
    45 |
    46 |

    47 | 100x100 49 |

    50 |

    {{ $user->name }}

    51 |

    Current Status

    52 |
    53 |  Mirpur, Dhaka
    54 |  +8801911248212
    55 |  https://github.com/Nur-Alam39
    56 |  {{ $user->email }}
    57 | 58 |   59 | https://www.linkedin.com/in/nuralam39
    60 | 61 | 62 |
    63 |
    64 |
    65 |
    66 |
    Experience
    67 |
    Education
    68 | 76 |
    Skill
    77 |
    Project
    78 |
    Training
    79 |
    Publication
    80 |
    Additional Activities
    81 |
    Extra Cirriculum Activities
    82 |
    Reference
    83 | Back 84 |
    85 |
    86 | 87 | 88 | @endsection -------------------------------------------------------------------------------- /resources/views/users/references/create.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layout.app') 2 | @section('content') 3 | 4 | 5 | 15 | 16 | 17 |
    18 |

    Add New Educational Degree

    19 | View all 20 |
    21 |
    22 | @csrf 23 |
    24 |
    25 | 26 | 27 |
    28 |
    29 | 30 | 31 |
    32 |
    33 |
    34 |
    35 | 36 | 37 |
    38 |
    39 | 40 | 41 |
    42 |
    43 |
    44 |
    45 | 46 | 47 |
    48 |
    49 | 50 | 51 |
    52 |
    53 |
    54 |
    55 | 56 |
    57 |
    58 |
    59 |
    60 | 61 | 62 | @endsection -------------------------------------------------------------------------------- /resources/views/users/references/edit.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layout.app') 2 | @section('content') 3 | 4 | 5 | 15 | 16 | 17 |
    18 |

    Edit Educational Information

    19 | View all 20 |
    21 |
    22 | @csrf 23 |
    24 |
    25 | 26 | 27 |
    28 |
    29 | 30 | 31 |
    32 |
    33 |
    34 |
    35 | 36 | 37 |
    38 |
    39 | 40 | 41 |
    42 |
    43 |
    44 |
    45 | 46 | 47 |
    48 |
    49 | 50 | 51 |
    52 |
    53 |
    54 |
    55 | 56 |
    57 |
    58 |
    59 |
    60 | 61 | 62 | @endsection -------------------------------------------------------------------------------- /resources/views/users/references/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layout.app') 2 | @section('content') 3 | 4 | 5 | 7 | 8 | 9 |
    10 |

    Educational Qualifications

    11 | 12 | + New Degree 13 | 14 | 15 | View Profile 16 | 17 | @foreach($education as $user_education) 18 |
    19 |
    20 |
    {{$user_education->institute}}, {{$user_education->location}}
    21 |
    {{$user_education->degree_name}}, {{$user_education->subject}}
    22 |
  • 23 | 24 |
  • 25 |
  • 26 | Passing Year: {{date('F Y', strtotime($user_education->passing_year) + 6*3600) }}   27 | Result: {{$user_education->result}} 28 |
  • 29 | 30 | Edit 31 | Remove 32 | 33 |
    34 |
    35 | @endforeach 36 |
    37 | 38 | 39 | @endsection -------------------------------------------------------------------------------- /resources/views/users/skills/create.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layout.app') 2 | @section('content') 3 | 4 | 5 | 15 | 16 | 17 |
    18 |

    Add New Educational Degree

    19 | View all 20 |
    21 |
    22 | @csrf 23 |
    24 |
    25 | 26 | 27 |
    28 |
    29 | 30 | 31 |
    32 |
    33 |
    34 |
    35 | 36 | 37 |
    38 |
    39 | 40 | 41 |
    42 |
    43 |
    44 |
    45 | 46 | 47 |
    48 |
    49 | 50 | 51 |
    52 |
    53 |
    54 |
    55 | 56 |
    57 |
    58 |
    59 |
    60 | 61 | 62 | @endsection -------------------------------------------------------------------------------- /resources/views/users/skills/edit.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layout.app') 2 | @section('content') 3 | 4 | 5 | 15 | 16 | 17 |
    18 |

    Edit Educational Information

    19 | View all 20 |
    21 |
    22 | @csrf 23 |
    24 |
    25 | 26 | 27 |
    28 |
    29 | 30 | 31 |
    32 |
    33 |
    34 |
    35 | 36 | 37 |
    38 |
    39 | 40 | 41 |
    42 |
    43 |
    44 |
    45 | 46 | 47 |
    48 |
    49 | 50 | 51 |
    52 |
    53 |
    54 |
    55 | 56 |
    57 |
    58 |
    59 |
    60 | 61 | 62 | @endsection -------------------------------------------------------------------------------- /resources/views/users/skills/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layout.app') 2 | @section('content') 3 | 4 | 5 | 7 | 8 | 9 |
    10 |

    Educational Qualifications

    11 | 12 | + New Degree 13 | 14 | 15 | View Profile 16 | 17 | @foreach($education as $user_education) 18 |
    19 |
    20 |
    {{$user_education->institute}}, {{$user_education->location}}
    21 |
    {{$user_education->degree_name}}, {{$user_education->subject}}
    22 |
  • 23 | 24 |
  • 25 |
  • 26 | Passing Year: {{date('F Y', strtotime($user_education->passing_year) + 6*3600) }}   27 | Result: {{$user_education->result}} 28 |
  • 29 | 30 | Edit 31 | Remove 32 | 33 |
    34 |
    35 | @endforeach 36 |
    37 | 38 | 39 | @endsection -------------------------------------------------------------------------------- /resources/views/users/user_dashboard.blade.php: -------------------------------------------------------------------------------- 1 | 6 | 7 | @extends('layout.app') 8 | @section('content') 9 |
    10 | 11 |

    {{ Auth::guard('web')->user()->name }}

    12 | @php 13 | $user_id = Auth::guard('web')->user()->id 14 | @endphp 15 | 22 | 62 |
    63 | @endsection -------------------------------------------------------------------------------- /resources/views/users/view_profile.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layout.app') 2 | @section('content') 3 | 4 | 5 | 6 | 7 | 8 | 9 | Opportunity 10 | 11 | 12 | 36 | 37 | 38 | 39 |
    40 |

    Job Profile

    41 |
    42 |
    43 |
    44 | 55 |
    56 |
    57 |
    58 |
    59 |
    60 |

    61 | 100x100 63 |

    64 |

    {{ Auth::user()->name }}

    65 |

    Current Status

    66 |
    67 |  Mirpur, Dhaka
    68 |  +8801911248212
    69 |  https://github.com/Nur-Alam39
    70 |  {{ Auth::user()->email }}
    71 | 72 |   73 | https://www.linkedin.com/in/nuralam39
    74 | 75 | 76 |
    77 |
    78 |
    79 |
    80 |
    Experience
    81 |
    Education
    82 | 90 |
    Skill
    91 |
    Project
    92 |
    Training
    93 |
    Publication
    94 |
    Additional Activities
    95 |
    Extra Cirriculum Activities
    96 |
    Reference
    97 |
    98 |
    99 | 100 | 101 | @endsection -------------------------------------------------------------------------------- /routes/api.php: -------------------------------------------------------------------------------- 1 | get('/user', function (Request $request) { 17 | return $request->user(); 18 | }); 19 | -------------------------------------------------------------------------------- /routes/channels.php: -------------------------------------------------------------------------------- 1 | id === (int) $id; 16 | }); 17 | -------------------------------------------------------------------------------- /routes/console.php: -------------------------------------------------------------------------------- 1 | comment(Inspiring::quote()); 18 | })->describe('Display an inspiring quote'); 19 | -------------------------------------------------------------------------------- /routes/web.php: -------------------------------------------------------------------------------- 1 | name('home'); 33 | Route::get('/users/view_profile', 'HomeController@view_profile'); 34 | Route::get('/users/edit_profile', 'HomeController@edit_profile'); 35 | Route::get('/users/public_profile/{user_id}', 'HomeController@public_profile'); 36 | 37 | 38 | //Employeer 39 | Route::get('/employeers/dashboard', 'EmployeerController@index'); 40 | Route::get('/users/view_profile', 'HomeController@view_profile'); 41 | Route::get('/users/edit_profile', 'HomeController@edit_profile'); 42 | 43 | //Category Controller 44 | 45 | Route::get('/categories', 'CategoryController@index'); 46 | Route::get('/categories/create', 'CategoryController@create'); 47 | Route::post('/categories/store', 'CategoryController@store'); 48 | Route::get('/categories/show/{category_id}', 'CategoryController@show'); 49 | Route::get('/categories/edit/{category_id}', 'CategoryController@edit'); 50 | Route::post('/categories/update/{category_id}', 'CategoryController@update'); 51 | Route::get('/categories/delete/{category_id}', 'CategoryController@destroy'); 52 | 53 | //User Personal Information 54 | Route::resource('/users/personalinfo', 'PersonalinfoController'); 55 | 56 | //Education Controller 57 | Route::get('/users/education', 'EducationController@index'); 58 | Route::get('/users/education/create', 'EducationController@create'); 59 | Route::post('/users/education/store', 'EducationController@store'); 60 | Route::get('/users/education/show/{edu_id}', 'EducationController@show'); 61 | Route::get('/users/education/edit/{edu_id}', 'EducationController@edit'); 62 | Route::post('/users/education/update/{edu_id}', 'EducationController@update'); 63 | Route::get('/users/education/delete/{edu_id}', 'EducationController@destroy'); 64 | 65 | 66 | ///New Multiauth 67 | Route::get('/login/employeer', 'Auth\LoginController@showEmployeerLoginForm'); 68 | Route::get('/login/user', 'Auth\LoginController@showUserLoginForm'); 69 | Route::get('/register/employeer', 'Auth\RegisterController@showEmployeerRegisterForm'); 70 | Route::get('/register/user', 'Auth\RegisterController@showUserRegisterForm'); 71 | 72 | Route::post('/login/employeer', 'Auth\LoginController@employeerLogin'); 73 | Route::post('/login/user', 'Auth\LoginController@userLogin'); 74 | Route::post('/register/employeer', 'Auth\RegisterController@createEmployeer'); 75 | Route::post('/register/user', 'Auth\RegisterController@create'); 76 | 77 | Route::view('/home', 'home')->middleware('auth'); 78 | Route::view('/employeer', 'employeer'); 79 | Route::view('/user', 'user'); 80 | 81 | //Job application 82 | Route::get('/apply/{job_id}', 'ApplicationController@create'); 83 | Route::get('/employees/applicants/{job_id}', 'ApplicationController@show_applicants'); 84 | 85 | 86 | 87 | -------------------------------------------------------------------------------- /server.php: -------------------------------------------------------------------------------- 1 | 8 | */ 9 | 10 | $uri = urldecode( 11 | parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH) 12 | ); 13 | 14 | // This file allows us to emulate Apache's "mod_rewrite" functionality from the 15 | // built-in PHP web server. This provides a convenient way to test a Laravel 16 | // application without having installed a "real" web server software here. 17 | if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) { 18 | return false; 19 | } 20 | 21 | require_once __DIR__.'/public/index.php'; 22 | -------------------------------------------------------------------------------- /storage/app/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !public/ 3 | !.gitignore 4 | -------------------------------------------------------------------------------- /storage/app/public/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/.gitignore: -------------------------------------------------------------------------------- 1 | config.php 2 | routes.php 3 | schedule-* 4 | compiled.php 5 | services.json 6 | events.scanned.php 7 | routes.scanned.php 8 | down 9 | -------------------------------------------------------------------------------- /storage/framework/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !data/ 3 | !.gitignore 4 | -------------------------------------------------------------------------------- /storage/framework/cache/data/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/sessions/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/testing/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/views/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/logs/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /tests/CreatesApplication.php: -------------------------------------------------------------------------------- 1 | make(Kernel::class)->bootstrap(); 19 | 20 | return $app; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /tests/Feature/ExampleTest.php: -------------------------------------------------------------------------------- 1 | get('/'); 18 | 19 | $response->assertStatus(200); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /tests/TestCase.php: -------------------------------------------------------------------------------- 1 | assertTrue(true); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /webpack.mix.js: -------------------------------------------------------------------------------- 1 | const mix = require('laravel-mix'); 2 | 3 | /* 4 | |-------------------------------------------------------------------------- 5 | | Mix Asset Management 6 | |-------------------------------------------------------------------------- 7 | | 8 | | Mix provides a clean, fluent API for defining some Webpack build steps 9 | | for your Laravel application. By default, we are compiling the Sass 10 | | file for the application as well as bundling up all the JS files. 11 | | 12 | */ 13 | 14 | mix.js('resources/js/app.js', 'public/js') 15 | .sass('resources/sass/app.scss', 'public/css'); 16 | --------------------------------------------------------------------------------