1
0
mirror of https://github.com/robonen/education-project.git synced 2026-03-20 10:54:31 +00:00

Регистрация и вход для всех ролей

This commit is contained in:
2020-12-02 23:58:36 +07:00
commit 54732a9f6a
111 changed files with 11765 additions and 0 deletions

2
database/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
*.sqlite
*.sqlite-journal

View File

@@ -0,0 +1,33 @@
<?php
namespace Database\Factories;
use App\Models\User;
use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Support\Str;
class UserFactory extends Factory
{
/**
* The name of the factory's corresponding model.
*
* @var string
*/
protected $model = User::class;
/**
* Define the model's default state.
*
* @return array
*/
public function definition()
{
return [
'name' => $this->faker->name,
'email' => $this->faker->unique()->safeEmail,
'email_verified_at' => now(),
'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
'remember_token' => Str::random(10),
];
}
}

View File

@@ -0,0 +1,32 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateRolesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('roles', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('roles');
}
}

View File

@@ -0,0 +1,40 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('login')->unique();
$table->string('email')->unique()->nullable();
$table->string('password');
$table->unsignedTinyInteger('role_id');
// $table->rememberToken();
$table->timestamps();
$table->foreign('role_id')
->references('id')->on('roles')
->onDelete('cascade');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('users');
}
}

View File

@@ -0,0 +1,46 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateTeachersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('teachers', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('user_id');
$table->string('photo')->nullable();
$table->string('first_name')->nullable();
$table->string('second_name')->nullable();
$table->string('middle_name')->nullable();
$table->date('date_of_birth')->nullable();
$table->string('phone_number')->nullable();
$table->string('address')->nullable();
$table->string('passport')->nullable();
$table->string('qualification')->nullable();
$table->unsignedTinyInteger('experience')->nullable();
$table->timestamps();
$table->foreign('user_id')
->references('id')->on('users')
->onDelete('cascade');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('teachers');
}
}

View File

@@ -0,0 +1,40 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateSchoolClassesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('school_classes', function (Blueprint $table) {
$table->id();
$table->unsignedTinyInteger('number');
$table->string('letter', 1);
$table->unsignedTinyInteger('count_students');
$table->string('profile');
$table->unsignedInteger('classroom_teacher')->nullable();
$table->timestamps();
$table->foreign('classroom_teacher')
->references('id')->on('teachers')
->onDelete('set null');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('school_classes');
}
}

View File

@@ -0,0 +1,46 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateParentsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('parents', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('user_id');
$table->string('photo')->nullable();
$table->string('first_name')->nullable();
$table->string('second_name')->nullable();
$table->string('middle_name')->nullable();
$table->date('date_of_birth')->nullable();
$table->string('phone_number')->nullable();
$table->string('address')->nullable();
$table->string('passport')->nullable();
$table->string('place_of_work')->nullable();
$table->string('position_at_work')->nullable();
$table->timestamps();
$table->foreign('user_id')
->references('id')->on('users')
->onDelete('cascade');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('parents');
}
}

View File

@@ -0,0 +1,48 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateStudentsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('students', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('user_id');
$table->string('photo')->nullable();
$table->string('first_name')->nullable();
$table->string('second_name')->nullable();
$table->string('middle_name')->nullable();
$table->date('date_of_birth')->nullable();
$table->string('phone_number')->nullable();
$table->string('address')->nullable();
$table->string('passport_or_certificate')->nullable();
$table->unsignedBigInteger('class_id')->nullable();
$table->timestamps();
$table->foreign('user_id')
->references('id')->on('users')
->onDelete('cascade');
$table->foreign('class_id')
->references('id')->on('school_classes')
->onDelete('set null');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('students');
}
}

View File

@@ -0,0 +1,46 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateHeadTeachersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('head_teachers', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('user_id');
$table->string('photo')->nullable();
$table->string('first_name')->nullable();
$table->string('second_name')->nullable();
$table->string('middle_name')->nullable();
$table->date('date_of_birth')->nullable();
$table->string('phone_number')->nullable();
$table->string('address')->nullable();
$table->string('passport')->nullable();
$table->string('activity')->nullable();
$table->unsignedTinyInteger('experience')->nullable();
$table->timestamps();
$table->foreign('user_id')
->references('id')->on('users')
->onDelete('cascade');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('head_teachers');
}
}

View File

@@ -0,0 +1,18 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*
* @return void
*/
public function run()
{
// \App\Models\User::factory(10)->create();
}
}