API for managing class homeworks and notes.
MAINTAINING
- PHP
- Composer
- Laravel
- MySQL
- XAMPP
- Postman
- Clone this repository to your desired location.
- Copy
.env.example
file to.env
. - Generate application key
php artisan key:generate
. - Generate storage symbolic link
php artisan storage:link
. - Create database
kelasan_sandbox
and configure it on.env
file. - Run migration
php artisan migrate
. - Run seeder
php artisan db:seed
. - Run server
bash server.sh --start
. - Fire-up Postman.
- Do-what-you-want-with-it!
URL | Description |
---|---|
/api/v1/classrooms/{classroom} |
Show classroom detail |
/api/v1/classrooms/{classroom}/invitation-code |
Show classroom invitation code |
/api/v1/classrooms/{classroom}/assignments |
Show classroom assignments |
/api/v1/classrooms/{classroom}/notes |
Show classroom notes |
/api/v1/classrooms/{classroom}/subjects |
Show classroom subjects |
/api/v1/classrooms/{classroom}/users |
Show classroom users |
/api/v1/classrooms/{classroom}/assignments/{assignment} |
Show assignment detail |
/api/v1/classrooms/{classroom}/assignments/{assignment}/statuses |
Show assignment statuses |
/api/v1/classrooms/{classroom}/assignments/{assignment}/timelines |
Show assignment timelines |
/api/v1/classrooms/{classroom}/notes/{note} |
Show note detail |
/api/v1/classrooms/{classroom}/notes/{note}/timelines |
Show note timelines |
/api/v1/classrooms/{classroom}/subjects/{subject} |
Show subject detail |
/api/v1/classrooms/{classroom}/subjects/{subject}/assignments |
Show subject assignments |
/api/v1/users/self |
Show self detail |
/api/v1/users/self/assignments |
Show self assignments |
/api/v1/users/self/classrooms |
Show self classrooms |
/api/v1/users/self/notes |
Show self notes |
/api/v1/users/self/subjects |
Show self subjects |
URL | Description |
---|---|
/api/v1/classrooms |
Create classroom |
/api/v1/classrooms/join |
Join classroom |
/api/v1/classrooms/{classroom}/assignments |
Create assignment |
/api/v1/classrooms/{classroom}/notes |
Create note |
/api/v1/classrooms/{classroom}/subjects |
Create subject |
/api/v1/users/sign-up |
Sign up |
/api/v1/users/sign-in |
Sign in |
URL | Description |
---|---|
/api/v1/classrooms/{classroom} |
Update classroom |
/api/v1/classrooms/{classroom}/assignments/{assignment} |
Update assignment |
/api/v1/classrooms/{classroom}/assignments/{assignment}/change-status |
Update assignment status |
/api/v1/classrooms/{classroom}/notes/{note} |
Update note |
/api/v1/classrooms/{classroom}/subjects/{subject} |
Update subject |
/api/v1/users/self |
Update profile |
/api/v1/users/self/change-password |
Update password |
URL | Description |
---|---|
/api/v1/classrooms/{classroom} |
Delete classroom |
/api/v1/classrooms/{classroom}/assignments/{assignment} |
Delete assignment |
/api/v1/classrooms/{classroom}/notes/{note} |
Delete note |
/api/v1/classrooms/{classroom}/subjects/{subject} |
Delete subject |
/api/v1/users/self/sign-out |
Sign out current device |
/api/v1/users/self/sign-out-all |
Sign out all devices |
Total Tasks : 324
Completed Tasks : 299
Progress : 92.28%
- Configure app
.env
- Change app timezone & locale to Indonesian
- Install auth package (Sanctum)
- Log SQL queries
- Configure
$dontFlash
attributes on exception handler &$except
attributes on TrimStrings middleware - Handle AuthenticationException class
- Handle NotFoundHttpException class
- Delete user related boilerplate
- User model
- User factory
- users migration
- password_resets migration
- failed_jobs migration
- Create base migrations
- users
- classrooms
- classroom_user
- subjects
- assignments
- assignment_images
- assignment_statuses
- assignment_timelines
- notes
- note_images
- note_timelines
- Create base models
- Assignment
- AssignmentImage
- AssignmentStatus
- AssignmentTimeline
- Classroom
- ClassroomUser
- Note
- NoteImage
- NoteTimeline
- Subject
- User
- Create base controllers
- AssignmentController
- AssignmentStatusController
- ClassroomController
- NoteController
- SubjectController
- UserController
- Create base factories
- AssignmentFactory
- AssignmentImageFactory
- AssignmentStatusFactory
- AssignmentTimelineFactory
- ClassroomFactory
- ClassroomUserFactory
- NoteFactory
- NoteImageFactory
- NoteTimelineFactory
- SubjectFactory
- UserFactory
- Create base seeders
- AssignmentImageSeeder
- AssignmentSeeder
- AssignmentStatusSeeder
- AssignmentTimelineSeeder
- ClassroomSeeder
- ClassroomUserSeeder
- NoteImageSeeder
- NoteSeeder
- NoteTimelineSeeder
- SubjectSeeder
- UserSeeder
- Create endpoints
-
GET
Show classroom detail -
GET
Show classroom invitation code -
GET
Show classroom assignments -
GET
Show classroom notes -
GET
Show classroom subjects -
GET
Show classroom users -
GET
Show assignment detail -
GET
Show assignment statuses -
GET
Show assignment timelines -
GET
Show note detail -
GET
Show note timelines -
GET
Show subject detail -
GET
Show subject assignments -
GET
Show self detail -
GET
Show self assignments -
GET
Show self classrooms -
GET
Show self notes -
GET
Show self subjects -
POST
Create classroom -
POST
Join classroom -
POST
Create assignment -
POST
Create note -
POST
Create subject -
POST
Sign up -
POST
Sign in -
PUT
Update classroom -
PUT
Update assignment -
PUT
Update assignment status -
PUT
Update note -
PUT
Update subject -
PUT
Update profile -
PUT
Update password -
DELETE
Delete classroom -
DELETE
Delete assignment -
DELETE
Delete note -
DELETE
Delete subject -
DELETE
Sign out current device -
DELETE
Sign out all devices
-
- Create base middleware
- BelongToClass
- ClassroomLeader
- ClassroomUser
- JSONHeader
- Register middleware on kernel
- Assign middleware on route
- Create base requests
- JoinClassroomRequest
- SignInRequest
- SignUpRequest
- StoreAssignmentRequest
- StoreClassroomRequest
- StoreNoteRequest
- StoreSubjectRequest
- UpdateAssignmentRequest
- UpdateAssignmentStatusRequest
- UpdateClassroomRequest
- UpdateNoteRequest
- UpdatePasswordRequest
- UpdateProfileRequest
- UpdateSubjectRequest
- Create traits
- FailedFormValidation
- InvitationCode
- SerializeDate
- Fill base migrations
- users
- classrooms
- classroom_user
- subjects
- assignments
- assignment_images
- assignment_statuses
- assignment_timelines
- notes
- note_images
- note_timelines
- Fill base middleware
- BelongToClass
- ClassroomLeader
- ClassroomUser
- JSONHeader
- Fill base requests
- JoinClassroomRequest
- SignInRequest
- SignUpRequest
- StoreAssignmentRequest
- StoreClassroomRequest
- StoreNoteRequest
- StoreSubjectRequest
- UpdateAssignmentRequest
- UpdateAssignmentStatusRequest
- UpdateClassroomRequest
- UpdateNoteRequest
- UpdatePasswordRequest
- UpdateProfileRequest
- UpdateSubjectRequest
- Fill base models
- Assignment
- SoftDeletes trait
-
$fillable
attributes -
$hidden
attributes - Events
- Relationships
- Accessors
- Mutator
- AssignmentImage
- SoftDeletes trait
-
$fillable
attributes -
$hidden
attributes - Events
- Relationships
- Accessors
- Mutator
- AssignmentStatus
- SoftDeletes trait
-
$fillable
attributes -
$hidden
attributes - Events
- Relationships
- Accessors
- Mutator
- AssignmentTimeline
- SoftDeletes trait
-
$fillable
attributes -
$hidden
attributes - Events
- Relationships
- Accessors
- Mutator
- Classroom
- SoftDeletes trait
-
$fillable
attributes -
$hidden
attributes - Events
- Relationships
- Accessors
- Mutator
- ClassroomUser
- SoftDeletes trait
-
$fillable
attributes -
$hidden
attributes - Events
- Relationships
- Accessors
- Mutator
- Note
- SoftDeletes trait
-
$fillable
attributes -
$hidden
attributes - Events
- Relationships
- Accessors
- Mutator
- NoteImage
- SoftDeletes trait
-
$fillable
attributes -
$hidden
attributes - Events
- Relationships
- Accessors
- Mutator
- NoteTimeline
- SoftDeletes trait
-
$fillable
attributes -
$hidden
attributes - Events
- Relationships
- Accessors
- Mutator
- Subject
- SoftDeletes trait
-
$fillable
attributes -
$hidden
attributes - Events
- Relationships
- Accessors
- Mutator
- User
- SoftDeletes trait
-
$fillable
attributes -
$hidden
attributes - Events
- Relationships
- Accessors
- Mutator
- Assignment
- Fill base controllers
- AssignmentController
-
show()
-
statuses()
-
timelines()
-
store()
-
update()
-
destroy()
-
- AssignmentStatusController
-
__invoke()
-
- ClassroomController
-
show()
-
invitationCode()
-
assignments()
-
notes()
-
subjects()
-
users()
-
store()
-
join()
-
update()
-
destroy()
-
- NoteController
-
show()
-
timelines()
-
store()
-
update()
-
destroy()
-
- SubjectController
-
show()
-
assignments()
-
store()
-
update()
-
destroy()
-
- UserController
-
show()
-
assignments()
-
classrooms()
-
notes()
-
subjects()
-
signUp()
-
signIn()
-
update()
-
changePassword()
-
signOut()
-
signOutAll()
-
- AssignmentController
- Fill base factories
- AssignmentFactory
- AssignmentImageFactory
- AssignmentStatusFactory
- AssignmentTimelineFactory
- ClassroomFactory
- ClassroomUserFactory
- NoteFactory
- NoteImageFactory
- NoteTimelineFactory
- SubjectFactory
- UserFactory
- Fill base seeders
- AssignmentImageSeeder
- AssignmentSeeder
- AssignmentStatusSeeder
- AssignmentTimelineSeeder
- ClassroomSeeder
- ClassroomUserSeeder
- NoteImageSeeder
- NoteSeeder
- NoteTimelineSeeder
- SubjectSeeder
- UserSeeder
- Translate English locale to Indonesian