update,
This commit is contained in:
12
nssheung/School-Management-System/.editorconfig
Normal file
12
nssheung/School-Management-System/.editorconfig
Normal file
@@ -0,0 +1,12 @@
|
||||
# EditorConfig is awesome: https://EditorConfig.org
|
||||
|
||||
# top-most EditorConfig file
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
172
nssheung/School-Management-System/.gitignore
vendored
Normal file
172
nssheung/School-Management-System/.gitignore
vendored
Normal file
@@ -0,0 +1,172 @@
|
||||
*del
|
||||
storage
|
||||
|
||||
# Created by https://www.toptal.com/developers/gitignore/api/node,laravel
|
||||
# Edit at https://www.toptal.com/developers/gitignore?templates=node,laravel
|
||||
|
||||
### Laravel ###
|
||||
/vendor/
|
||||
node_modules/
|
||||
npm-debug.log
|
||||
yarn-error.log
|
||||
|
||||
# Laravel 4 specific
|
||||
bootstrap/compiled.php
|
||||
app/storage/
|
||||
|
||||
# Laravel 5 & Lumen specific
|
||||
public/storage
|
||||
public/hot
|
||||
|
||||
# Laravel 5 & Lumen specific with changed public path
|
||||
public_html/storage
|
||||
public_html/hot
|
||||
|
||||
|
||||
|
||||
storage/*.key
|
||||
.env
|
||||
Homestead.yaml
|
||||
Homestead.json
|
||||
/.vagrant
|
||||
.phpunit.result.cache
|
||||
|
||||
### Node ###
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
lerna-debug.log*
|
||||
.pnpm-debug.log*
|
||||
|
||||
# Diagnostic reports (https://nodejs.org/api/report.html)
|
||||
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
||||
|
||||
# Runtime data
|
||||
pids
|
||||
*.pid
|
||||
*.seed
|
||||
*.pid.lock
|
||||
|
||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||
lib-cov
|
||||
|
||||
# Coverage directory used by tools like istanbul
|
||||
coverage
|
||||
*.lcov
|
||||
|
||||
# nyc test coverage
|
||||
.nyc_output
|
||||
|
||||
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
||||
.grunt
|
||||
|
||||
# Bower dependency directory (https://bower.io/)
|
||||
bower_components
|
||||
|
||||
# node-waf configuration
|
||||
.lock-wscript
|
||||
|
||||
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||
build/Release
|
||||
|
||||
# Dependency directories
|
||||
jspm_packages/
|
||||
|
||||
# Snowpack dependency directory (https://snowpack.dev/)
|
||||
web_modules/
|
||||
|
||||
# TypeScript cache
|
||||
*.tsbuildinfo
|
||||
|
||||
# Optional npm cache directory
|
||||
.npm
|
||||
|
||||
# Optional eslint cache
|
||||
.eslintcache
|
||||
|
||||
# Optional stylelint cache
|
||||
.stylelintcache
|
||||
|
||||
# Microbundle cache
|
||||
.rpt2_cache/
|
||||
.rts2_cache_cjs/
|
||||
.rts2_cache_es/
|
||||
.rts2_cache_umd/
|
||||
|
||||
# Optional REPL history
|
||||
.node_repl_history
|
||||
|
||||
# Output of 'npm pack'
|
||||
*.tgz
|
||||
|
||||
# Yarn Integrity file
|
||||
.yarn-integrity
|
||||
|
||||
# dotenv environment variable files
|
||||
.env.development.local
|
||||
.env.test.local
|
||||
.env.production.local
|
||||
.env.local
|
||||
|
||||
# parcel-bundler cache (https://parceljs.org/)
|
||||
.cache
|
||||
.parcel-cache
|
||||
|
||||
# Next.js build output
|
||||
.next
|
||||
out
|
||||
|
||||
# Nuxt.js build / generate output
|
||||
.nuxt
|
||||
dist
|
||||
|
||||
# Gatsby files
|
||||
.cache/
|
||||
# Comment in the public line in if your project uses Gatsby and not Next.js
|
||||
# https://nextjs.org/blog/next-9-1#public-directory-support
|
||||
# public
|
||||
|
||||
# vuepress build output
|
||||
.vuepress/dist
|
||||
|
||||
# vuepress v2.x temp and cache directory
|
||||
.temp
|
||||
|
||||
# Docusaurus cache and generated files
|
||||
.docusaurus
|
||||
|
||||
# Serverless directories
|
||||
.serverless/
|
||||
|
||||
# FuseBox cache
|
||||
.fusebox/
|
||||
|
||||
# DynamoDB Local files
|
||||
.dynamodb/
|
||||
|
||||
# TernJS port file
|
||||
.tern-port
|
||||
|
||||
# Stores VSCode versions used for testing VSCode extensions
|
||||
.vscode-test
|
||||
|
||||
# yarn v2
|
||||
.yarn/cache
|
||||
.yarn/unplugged
|
||||
.yarn/build-state.yml
|
||||
.yarn/install-state.gz
|
||||
.pnp.*
|
||||
|
||||
### Node Patch ###
|
||||
# Serverless Webpack directories
|
||||
.webpack/
|
||||
|
||||
# Optional stylelint cache
|
||||
|
||||
# SvelteKit build / generate output
|
||||
.svelte-kit
|
||||
|
||||
# End of https://www.toptal.com/developers/gitignore/api/node,laravel
|
95
nssheung/School-Management-System/README.md
Normal file
95
nssheung/School-Management-System/README.md
Normal file
@@ -0,0 +1,95 @@
|
||||
# README
|
||||
|
||||
## To start develop environment
|
||||
|
||||
## Production
|
||||
|
||||
TODO: fill production steps here, windows
|
||||
|
||||
```bash
|
||||
# docker-compose.prod.yml ?
|
||||
```
|
||||
|
||||
## Development
|
||||
|
||||
### Using windows
|
||||
|
||||
```bash
|
||||
|
||||
# For windows,
|
||||
# on project root directory, under windows command prompt
|
||||
>.\scripts\up.ps1
|
||||
|
||||
# For Linux,
|
||||
$ ./scripts/up.sh
|
||||
|
||||
# inside docker, run
|
||||
/app$ ./dev.sh
|
||||
|
||||
# follow setup steps inside docker prompt
|
||||
# ...
|
||||
# ...
|
||||
Do you really wish to run this command? (yes/no) [no]
|
||||
# answer -> yes
|
||||
# ...
|
||||
# ...
|
||||
# setup steps complete
|
||||
# browse localhost:8000
|
||||
```
|
||||
|
||||
### Using linux
|
||||
|
||||
```shell
|
||||
# for linux machine
|
||||
|
||||
$ cd src
|
||||
|
||||
$ ./up.sh
|
||||
|
||||
# inside docker
|
||||
|
||||
# options :
|
||||
|
||||
# 1. to start laravel only:
|
||||
$ ./dev.sh
|
||||
|
||||
# 2. to start refreshing when src update:
|
||||
$ npm run dev
|
||||
|
||||
# brows:
|
||||
# page http://localhost:3000
|
||||
# mail test node http://localhost:8025
|
||||
```
|
||||
|
||||
## pack for delivery
|
||||
|
||||
```bash
|
||||
# under project root directory, run
|
||||
>./pack_delivery.bat
|
||||
|
||||
# delivery file available on <PROJ_ROOT>\dist\delivery.zip
|
||||
```
|
||||
|
||||
## report materials
|
||||
|
||||
- password reset email template:
|
||||
|
||||
- https://laravel.com/docs/10.x/passwords
|
||||
- `php artisan make:notification ResetPasswordNotification`
|
||||
- `php artisan vendor:publish --tag=laravel-notifications`
|
||||
|
||||
- mailhog
|
||||
- https://github.com/barryvdh/laravel-dompdf
|
||||
|
||||
- https://www.positronx.io/laravel-pdf-tutorial-generate-pdf-with-dompdf-in-laravel/
|
||||
|
||||
- https://github.com/sparksuite/simple-html-invoice-template
|
||||
|
||||
## still useful ?
|
||||
|
||||
/home/logic/\_workspace/laravel-playlist/laravel-docker-helloworld/blog-stripe-tryout/php74-httpd/blog-stripe/resources/views/pages/home/index.blade.php
|
||||
|
||||
### references :
|
||||
|
||||
https://github.com/AngelJayMedia/blog-stripe
|
||||
https://laravel.com/docs/10.x/controllers#basic-controllers
|
263
nssheung/School-Management-System/_hidden/digest.html
Normal file
263
nssheung/School-Management-System/_hidden/digest.html
Normal file
@@ -0,0 +1,263 @@
|
||||
<h1><a id="user-content-fyp" class="anchor" aria-hidden="true" href="#fyp"><span aria-hidden="true" class="octicon octicon-link"></span></a>FYP</h1>
|
||||
<ul>
|
||||
<li>Good day learning center by PHP and Mysql</li>
|
||||
<li>28-Mar-2023, 1-Jun-2023</li>
|
||||
<li><a href="https://github.com/lahirudanushka/School-Management-System---PHP-MySQL">https://github.com/lahirudanushka/School-Management-System---PHP-MySQL</a></li>
|
||||
<li><a href="http://schoolms.gearhostpreview.com/" rel="nofollow">http://schoolms.gearhostpreview.com/</a></li>
|
||||
</ul>
|
||||
<h3><a id="user-content-網站名-good-day-learning-center-by-php-and-mysql" class="anchor" aria-hidden="true" href="#網站名-good-day-learning-center-by-php-and-mysql"><span aria-hidden="true" class="octicon octicon-link"></span></a>網站名: Good day learning center by PHP and Mysql</h3>
|
||||
<h2><a id="user-content-時間" class="anchor" aria-hidden="true" href="#時間"><span aria-hidden="true" class="octicon octicon-link"></span></a>時間:</h2>
|
||||
<ul>
|
||||
<li>4 月 21 完成紅字既part (milestone 1)</li>
|
||||
<li>6 月 1 完成埋剩餘既部分 (milestone 2)</li>
|
||||
</ul>
|
||||
<h2><a id="user-content-roles-of-users-and-the-functions" class="anchor" aria-hidden="true" href="#roles-of-users-and-the-functions"><span aria-hidden="true" class="octicon octicon-link"></span></a>Roles of users and the functions</h2>
|
||||
<h3><a id="user-content-administrator" class="anchor" aria-hidden="true" href="#administrator"><span aria-hidden="true" class="octicon octicon-link"></span></a>Administrator</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<p>4月21</p>
|
||||
<ul>
|
||||
<li><del>Update, Add, Delete Subject (4月21)</del></li>
|
||||
<li><del>Update, Add, Delete Schedule (4月21)</del></li>
|
||||
<li><del>Update, Add, Delete Class room (4月21)</del></li>
|
||||
<li><del>Update, Add, Delete Student (4月21)</del></li>
|
||||
<li><del>Update, Add, Delete Teacher (4月21)</del></li>
|
||||
<li><del>Update, Add, Delete User (4月21)</del></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>6月1號</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>Update, Add, Delete Attendance</p>
|
||||
<ul>
|
||||
<li><a target="_blank" rel="noopener noreferrer" href="img/admin-attendance-list.png"><img src="img/admin-attendance-list.png" alt="" style="max-width: 100%;"></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>Update, Add, Delete Exam</p>
|
||||
<ul>
|
||||
<li><a target="_blank" rel="noopener noreferrer" href="img/admin-exam-list.png"><img src="img/admin-exam-list.png" alt="" style="max-width: 100%;"></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>Update, Add, Delete Exam result</p>
|
||||
<ul>
|
||||
<li><a target="_blank" rel="noopener noreferrer" href="img/admin-exam-result-list.png"><img src="img/admin-exam-result-list.png" alt="" style="max-width: 100%;"></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>Update, Add Payment info</p>
|
||||
<ul>
|
||||
<li><a target="_blank" rel="noopener noreferrer" href="img/admin-payment-info.png"><img src="img/admin-payment-info.png" alt="" style="max-width: 100%;"></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>Print payment receipt</p>
|
||||
<ul>
|
||||
<li><a target="_blank" rel="noopener noreferrer" href="img/admin-print-recipt.png"><img src="img/admin-print-recipt.png" alt="" style="max-width: 100%;"></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>Update, Add, Delete Student</p>
|
||||
<ul>
|
||||
<li>加多個subject既欄位, 比student揀反subject喺自己profile度.</li>
|
||||
<li><a target="_blank" rel="noopener noreferrer" href="img/admin-edit-student.png"><img src="img/admin-edit-student.png" alt="" style="max-width: 100%;"></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>Update, Add, Delete Teacher</p>
|
||||
<ul>
|
||||
<li>加多個subject既欄位, 比老師揀反subject喺自己profile度.</li>
|
||||
<li><a target="_blank" rel="noopener noreferrer" href="img/teacher-edit-teacherinfo.png"><img src="img/teacher-edit-teacherinfo.png" alt="" style="max-width: 100%;"></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>Update Add, Delete Schedule</p>
|
||||
<ul>
|
||||
<li>schedule 想有subject name, teacher name, classroom, day, start time and end time.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>Update, Add, Delete Class room</p>
|
||||
<ul>
|
||||
<li>classroom table list想show埋class room既location</li>
|
||||
<li><a target="_blank" rel="noopener noreferrer" href="img/admin-classroom-list.png"><img src="img/admin-classroom-list.png" alt="" style="max-width: 100%;"></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h3><a id="user-content-teacher" class="anchor" aria-hidden="true" href="#teacher"><span aria-hidden="true" class="octicon octicon-link"></span></a>Teacher:</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<p>4月21</p>
|
||||
<ul>
|
||||
<li><del>Update , Add Student (4月21)</del></li>
|
||||
<li><del>Update Teacher (4月21)</del></li>
|
||||
<li><del>Update Subject (4月21)</del></li>
|
||||
<li><del>Update Add, Delete Schedule (4月21)</del></li>
|
||||
<li><del>View class room (4月21)</del></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>6月1號</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>Update <del>Add, Delete</del> Attendance</p>
|
||||
<ol>
|
||||
<li>list schedules ?</li>
|
||||
<li>user click schedule to update</li>
|
||||
<li>tick student</li>
|
||||
<li>click update</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>
|
||||
<p>Update, Add, Delete Exam</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Add Exam result</p>
|
||||
<ul>
|
||||
<li><a target="_blank" rel="noopener noreferrer" href="img/teacher-update-exam-result-list.png"><img src="img/teacher-update-exam-result-list.png" alt="" style="max-width: 100%;"></a></li>
|
||||
<li><a target="_blank" rel="noopener noreferrer" href="img/teacher-update-exam-result-edit.png"><img src="img/teacher-update-exam-result-edit.png" alt="" style="max-width: 100%;"></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>Send Notice to student and Administrator</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Update , Add Student</p>
|
||||
<ul>
|
||||
<li>可以update student既class room, (classroom 跟 subject)</li>
|
||||
<li>-> update student既subject</li>
|
||||
<li><a target="_blank" rel="noopener noreferrer" href="img/teacher-view-student-subject.png"><img src="img/teacher-view-student-subject.png" alt="" style="max-width: 100%;"></a></li>
|
||||
<li><a target="_blank" rel="noopener noreferrer" href="img/teacher-edit-student-subject.png"><img src="img/teacher-edit-student-subject.png" alt="" style="max-width: 100%;"></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>Update Teacher</p>
|
||||
<ul>
|
||||
<li>加多個subject既欄位, 比老師揀反subject喺自己profile度.</li>
|
||||
<li><a target="_blank" rel="noopener noreferrer" href="img/update-teacher-info-with-subects.png"><img src="img/update-teacher-info-with-subects.png" alt="" style="max-width: 100%;"></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>Update Add, Delete Schedule</p>
|
||||
<ul>
|
||||
<li>schedule 想有
|
||||
<ul>
|
||||
<li>subject name,</li>
|
||||
<li>teacher name,</li>
|
||||
<li>classroom,</li>
|
||||
<li>day,</li>
|
||||
<li>start time and</li>
|
||||
<li>end time.</li>
|
||||
<li><a target="_blank" rel="noopener noreferrer" href="img/schedule-update-with-teacher-student-display.png"><img src="img/schedule-update-with-teacher-student-display.png" alt="" style="max-width: 100%;"></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>View class room</p>
|
||||
<ul>
|
||||
<li>classroom table list想show埋class room既location
|
||||
<ul>
|
||||
<li><a target="_blank" rel="noopener noreferrer" href="img/teacher-classroom-table.png"><img src="img/teacher-classroom-table.png" alt="" style="max-width: 100%;"></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h3><a id="user-content-student" class="anchor" aria-hidden="true" href="#student"><span aria-hidden="true" class="octicon octicon-link"></span></a>Student:</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<p>4月21</p>
|
||||
<ul>
|
||||
<li><del>View Schedule (4月21)</del></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>6月1號</p>
|
||||
<ul>
|
||||
<li>View Notice
|
||||
<ul>
|
||||
<li><a target="_blank" rel="noopener noreferrer" href="img/view-notices.png"><img src="img/view-notices.png" alt="" style="max-width: 100%;"></a></li>
|
||||
<li><a target="_blank" rel="noopener noreferrer" href="img/view-notice.png"><img src="img/view-notice.png" alt="" style="max-width: 100%;"></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>View Exam Results
|
||||
<ul>
|
||||
<li><a href="http://localhost:3000/showStudentExamResults" rel="nofollow">http://localhost:3000/showStudentExamResults</a></li>
|
||||
<li><a target="_blank" rel="noopener noreferrer" href="img/student-exam-results.png"><img src="img/student-exam-results.png" alt="" style="max-width: 100%;"></a></li>
|
||||
<li><a target="_blank" rel="noopener noreferrer" href="img/student-exam-result.png"><img src="img/student-exam-result.png" alt="" style="max-width: 100%;"></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h3><a id="user-content-login-system" class="anchor" aria-hidden="true" href="#login-system"><span aria-hidden="true" class="octicon octicon-link"></span></a>Login system:</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<p>Registeration (註冊賬號)</p>
|
||||
<ul>
|
||||
<li><a target="_blank" rel="noopener noreferrer" href="img/register-triage.png"><img src="img/register-triage.png" alt="register-triage.png" style="max-width: 100%;"></a></li>
|
||||
<li><a target="_blank" rel="noopener noreferrer" href="img/register-student.png"><img src="img/register-student.png" alt="register-student.png" style="max-width: 100%;"></a></li>
|
||||
<li><a target="_blank" rel="noopener noreferrer" href="img/register-teacher.png"><img src="img/register-teacher.png" alt="register-teacher.png" style="max-width: 100%;"></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>forgot password (忘記密碼)</p>
|
||||
<ul>
|
||||
<li>
|
||||
<a target="_blank" rel="noopener noreferrer" href="img/recover-password.png"><img src="img/recover-password.png" alt="" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer" href="img/password-recovery-email.png"><img src="img/password-recovery-email.png" alt="" style="max-width: 100%;"></a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>如果打錯賬號密碼會有 error prompt 出來</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p><a target="_blank" rel="noopener noreferrer" href="img/wrong-password.png"><img src="img/wrong-password.png" alt="" style="max-width: 100%;"></a></p>
|
||||
</li>
|
||||
<li>
|
||||
<p>User申請完成之後用反自己account登入系統.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>每個user都有自己獨立的account.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2><a id="user-content-ui" class="anchor" aria-hidden="true" href="#ui"><span aria-hidden="true" class="octicon octicon-link"></span></a>UI:</h2>
|
||||
<ul>
|
||||
<li>簡潔就可</li>
|
||||
<li><a target="_blank" rel="noopener noreferrer" href="./UI.png"><img src="./UI.png" alt="" style="max-width: 100%;"></a></li>
|
||||
</ul>
|
||||
<h2><a id="user-content-docs" class="anchor" aria-hidden="true" href="#docs"><span aria-hidden="true" class="octicon octicon-link"></span></a>DOCS:</h2>
|
||||
<ul>
|
||||
<li>Project Proposal</li>
|
||||
<li>Initial Report~</li>
|
||||
<li>prototype Demo - 1st version</li>
|
||||
<li>之後六月再做好另外果一半既網站,
|
||||
<ul>
|
||||
<li>先交document and user guide</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>當save或者edit完一個item既時候,
|
||||
<ul>
|
||||
<li>喺畫面上面show save successfully or failed.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2><a id="user-content-schema" class="anchor" aria-hidden="true" href="#schema"><span aria-hidden="true" class="octicon octicon-link"></span></a>schema:</h2>
|
||||
<ul>
|
||||
<li>show tables used
|
||||
<ul>
|
||||
<li>e.g. <code>2023_03_29_171749_create_notice_student_rel.php</code>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
165
nssheung/School-Management-System/_hidden/digest.md
Normal file
165
nssheung/School-Management-System/_hidden/digest.md
Normal file
@@ -0,0 +1,165 @@
|
||||
# FYP
|
||||
|
||||
- Good day learning center by PHP and Mysql
|
||||
- 28-Mar-2023, 1-Jun-2023
|
||||
- https://github.com/lahirudanushka/School-Management-System---PHP-MySQL
|
||||
- http://schoolms.gearhostpreview.com/
|
||||
|
||||
### 網站名: Good day learning center by PHP and Mysql
|
||||
|
||||
## 時間:
|
||||
|
||||
- 4 月 21 完成紅字既 part (milestone 1)
|
||||
- 6 月 1 完成埋剩餘既部分 (milestone 2)
|
||||
|
||||
## Roles of users and the functions
|
||||
|
||||
### Administrator
|
||||
|
||||
- 4 月 21
|
||||
|
||||
- ~~Update, Add, Delete Subject (4 月 21)~~
|
||||
- ~~Update, Add, Delete Schedule (4 月 21)~~
|
||||
- ~~Update, Add, Delete Class room (4 月 21)~~
|
||||
- ~~Update, Add, Delete Student (4 月 21)~~
|
||||
- ~~Update, Add, Delete Teacher (4 月 21)~~
|
||||
- ~~Update, Add, Delete User (4 月 21)~~
|
||||
|
||||
- 6 月 1 號
|
||||
|
||||
- Update, Add, Delete Attendance
|
||||
- 
|
||||
- Update, Add, Delete Exam
|
||||
- 
|
||||
- Update, Add, Delete Exam result
|
||||
- 
|
||||
- Update, Add Payment info
|
||||
- 
|
||||
- Print payment receipt
|
||||
|
||||
- 
|
||||
|
||||
- Update, Add, Delete Student
|
||||
- 加多個 subject 既欄位, 比 student 揀反 subject 喺自己 profile 度.
|
||||
- 
|
||||
- Update, Add, Delete Teacher
|
||||
- 加多個 subject 既欄位, 比老師揀反 subject 喺自己 profile 度.
|
||||
- 
|
||||
- Update Add, Delete Schedule
|
||||
- schedule 想有 subject name, teacher name, classroom, day, start time and end time.
|
||||
- Update, Add, Delete Class room
|
||||
- classroom table list 想 show 埋 class room 既 location
|
||||
- 
|
||||
|
||||
### Teacher:
|
||||
|
||||
- 4 月 21
|
||||
|
||||
- ~~Update , Add Student (4 月 21)~~
|
||||
- ~~Update Teacher (4 月 21)~~
|
||||
- ~~Update Subject (4 月 21)~~
|
||||
- ~~Update Add, Delete Schedule (4 月 21)~~
|
||||
- ~~View class room (4 月 21)~~
|
||||
|
||||
- 6 月 1 號
|
||||
|
||||
- Update ~~Add, Delete~~ Attendance
|
||||
|
||||
1. list schedules ?
|
||||
1. user click schedule to update
|
||||
1. tick student
|
||||
1. click update
|
||||
|
||||
- Update, Add, Delete Exam
|
||||
|
||||
- Add Exam result
|
||||
|
||||
- 
|
||||
- 
|
||||
|
||||
- Send Notice to student and Administrator
|
||||
|
||||
- Update , Add Student
|
||||
|
||||
- 可以 update student 既 class room, (classroom 跟 subject)
|
||||
- -> update student 既 subject
|
||||
- 
|
||||
- 
|
||||
|
||||
- Update Teacher
|
||||
|
||||
- 加多個 subject 既欄位, 比老師揀反 subject 喺自己 profile 度.
|
||||
- 
|
||||
|
||||
- Update Add, Delete Schedule
|
||||
|
||||
- schedule 想有
|
||||
- subject name,
|
||||
- teacher name,
|
||||
- classroom,
|
||||
- day,
|
||||
- start time and
|
||||
- end time.
|
||||
- 
|
||||
|
||||
- View class room
|
||||
- classroom table list 想 show 埋 class room 既 location
|
||||
- 
|
||||
|
||||
### Student:
|
||||
|
||||
- 4 月 21
|
||||
|
||||
- ~~View Schedule (4 月 21)~~
|
||||
|
||||
- 6 月 1 號
|
||||
- View Notice
|
||||
- 
|
||||
- 
|
||||
- View Exam Results
|
||||
- http://localhost:3000/showStudentExamResults
|
||||
- 
|
||||
- 
|
||||
|
||||
### Login system:
|
||||
|
||||
- Registeration (註冊賬號)
|
||||
|
||||
- 
|
||||
- 
|
||||
- 
|
||||
|
||||
- forgot password (忘記密碼)
|
||||
|
||||
-  
|
||||
|
||||
- 如果打錯賬號密碼會有 error prompt 出來
|
||||
|
||||
- 
|
||||
- User 申請完成之後用反自己 account 登入系統.
|
||||
|
||||
- 每個 user 都有自己獨立的 account.
|
||||
|
||||
## UI:
|
||||
|
||||
- 簡潔就可
|
||||
- 
|
||||
|
||||
## DOCS:
|
||||
|
||||
- Project Proposal
|
||||
- Initial Report~
|
||||
- prototype Demo - 1st version
|
||||
- 之後六月再做好另外果一半既網站,
|
||||
- 先交 document and user guide
|
||||
- 當 save 或者 edit 完一個 item 既時候,
|
||||
- 喺畫面上面 show save successfully or failed.
|
||||
|
||||
## schema:
|
||||
|
||||
- show tables used
|
||||
- e.g. `2023_03_29_171749_create_notice_student_rel.php`
|
||||
|
||||
## remarks
|
||||
|
||||
- to change logo in printed pdf
|
BIN
nssheung/School-Management-System/_hidden/img - Copy/admin-attendance-list.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img - Copy/admin-attendance-list.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img - Copy/admin-classroom-list.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img - Copy/admin-classroom-list.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img - Copy/admin-edit-student.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img - Copy/admin-edit-student.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img - Copy/admin-edit-teacher.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img - Copy/admin-edit-teacher.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img - Copy/admin-exam-list.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img - Copy/admin-exam-list.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img - Copy/admin-exam-result-list.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img - Copy/admin-exam-result-list.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img - Copy/admin-payment-info.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img - Copy/admin-payment-info.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img - Copy/admin-print-recipt.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img - Copy/admin-print-recipt.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img - Copy/password-recovery-email.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img - Copy/password-recovery-email.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img - Copy/recover-password.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img - Copy/recover-password.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img - Copy/register-student.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img - Copy/register-student.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img - Copy/register-teacher.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img - Copy/register-teacher.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img - Copy/register-triage.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img - Copy/register-triage.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img - Copy/schedule-update-with-teacher-student-display.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img - Copy/schedule-update-with-teacher-student-display.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img - Copy/student-exam-result.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img - Copy/student-exam-result.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img - Copy/student-exam-results.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img - Copy/student-exam-results.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img - Copy/studnet-can-select-subject.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img - Copy/studnet-can-select-subject.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img - Copy/teacher-classroom-table.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img - Copy/teacher-classroom-table.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img - Copy/teacher-edit-student-subject.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img - Copy/teacher-edit-student-subject.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img - Copy/teacher-edit-teacherinfo.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img - Copy/teacher-edit-teacherinfo.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img - Copy/teacher-update-exam-result-edit.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img - Copy/teacher-update-exam-result-edit.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img - Copy/teacher-update-exam-result-list.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img - Copy/teacher-update-exam-result-list.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img - Copy/teacher-view-student-subject.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img - Copy/teacher-view-student-subject.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img - Copy/update-teacher-info-with-subects.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img - Copy/update-teacher-info-with-subects.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img - Copy/view-notice.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img - Copy/view-notice.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img - Copy/view-notices.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img - Copy/view-notices.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img - Copy/wrong-password.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img - Copy/wrong-password.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img/admin-attendance-list.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img/admin-attendance-list.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img/admin-classroom-list.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img/admin-classroom-list.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img/admin-edit-student.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img/admin-edit-student.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img/admin-edit-teacher.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img/admin-edit-teacher.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img/admin-exam-list.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img/admin-exam-list.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img/admin-exam-result-list.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img/admin-exam-result-list.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img/admin-payment-info.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img/admin-payment-info.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img/admin-print-recipt.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img/admin-print-recipt.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img/password-recovery-email.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img/password-recovery-email.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img/recover-password.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img/recover-password.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img/register-student.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img/register-student.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img/register-teacher.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img/register-teacher.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img/register-triage.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img/register-triage.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img/schedule-update-with-teacher-student-display.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img/schedule-update-with-teacher-student-display.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img/student-exam-result.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img/student-exam-result.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img/student-exam-results.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img/student-exam-results.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img/studnet-can-select-subject.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img/studnet-can-select-subject.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img/teacher-classroom-table.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img/teacher-classroom-table.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img/teacher-edit-student-subject.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img/teacher-edit-student-subject.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img/teacher-edit-teacherinfo.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img/teacher-edit-teacherinfo.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img/teacher-update-exam-result-edit.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img/teacher-update-exam-result-edit.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img/teacher-update-exam-result-list.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img/teacher-update-exam-result-list.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img/teacher-view-student-subject.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img/teacher-view-student-subject.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img/update-teacher-info-with-subects.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img/update-teacher-info-with-subects.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img/view-notice.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img/view-notice.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img/view-notices.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img/view-notices.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
nssheung/School-Management-System/_hidden/img/wrong-password.png
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/img/wrong-password.png
(Stored with Git LFS)
Normal file
Binary file not shown.
Binary file not shown.
6
nssheung/School-Management-System/_hidden/md_to_html.sh
Normal file
6
nssheung/School-Management-System/_hidden/md_to_html.sh
Normal file
@@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
# sudo npm install markdown-to-html -g
|
||||
github-markdown digest.md > digest.html
|
12
nssheung/School-Management-System/_hidden/package.json
Normal file
12
nssheung/School-Management-System/_hidden/package.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"name": "_hidden",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"gitUpdate": "git add . && git commit -m\"update docs,\""
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
"license": "ISC"
|
||||
}
|
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
$a = [1,2,3,4,5];
|
||||
if (in_array(1, $a)){
|
||||
echo 'helloworld 1';
|
||||
}
|
||||
|
||||
if (in_array(10, $a)){
|
||||
echo 'helloworld 10';
|
||||
}
|
||||
|
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
$a = [1,2,3,4,5];
|
||||
if (in_array(1, $a)){
|
||||
echo 'helloworld 1';
|
||||
}
|
||||
|
||||
if (in_array(10, $a)){
|
||||
echo 'helloworld 10';
|
||||
}
|
||||
|
BIN
nssheung/School-Management-System/_hidden/tour/tour1-handdraft.jpg
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/tour/tour1-handdraft.jpg
(Stored with Git LFS)
Normal file
Binary file not shown.
48
nssheung/School-Management-System/_hidden/tour/tour1.md
Normal file
48
nssheung/School-Management-System/_hidden/tour/tour1.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# for Teacher update exam result
|
||||
|
||||
teacher (`amy_tsui@school.com` / `amy_tsui`)
|
||||
|
||||
student (`john_ho@school.com/john_ho`)
|
||||
|
||||
1. teacher: add new exam `tourism and hospital mid term exam`
|
||||
- add remarks as well `tourism and hospital mid term exam`
|
||||
|
||||
1. teacher: edit just created exam -> add members
|
||||
|
||||
1. teacher: add student `john_ho@school.com`
|
||||
- that means john_ho@school.com in the exam
|
||||
|
||||
1. change to student view (`john_ho@school.com/john_ho`)
|
||||
|
||||
1. student: look exam overview show on dashboard
|
||||
- 1 exam exist
|
||||
|
||||
1. 現實世界 __wait for exam complete__
|
||||
1. 咁呀 john_ho 等緊 result 喇喎
|
||||
1. 咁呢,result 就出左黎嘞...
|
||||
|
||||
1. teacher:
|
||||
- click exam result -> Exam `tourism and hospital mid term exam`
|
||||
- update result of `john_ho@school.com` -> 78
|
||||
|
||||
1. student: click exam result
|
||||
- refresh exam result
|
||||
- found Exam `tourism and hospital mid term exam` result
|
||||
|
||||
1. 咁如果老師踼第二個 test 去比阿 `john_ho@school.com`
|
||||
|
||||
1. teacher: click exam on sidebar
|
||||
- click science mid term
|
||||
- click `edit`
|
||||
- add `john_ho@school.com`
|
||||
- click `save`
|
||||
- click `exam results` on sidebar
|
||||
- click `update results` on Science mid term
|
||||
- update `john_ho@school.com` exam result.
|
||||
- click `save`
|
||||
-
|
||||
|
||||
1. student: click `exam results` on sidebar
|
||||
- `Science mid term` and result updated.
|
||||
|
||||
1. end
|
BIN
nssheung/School-Management-System/_hidden/tour/tour2-handdraft.jpg
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/tour/tour2-handdraft.jpg
(Stored with Git LFS)
Normal file
Binary file not shown.
23
nssheung/School-Management-System/_hidden/tour/tour2.md
Normal file
23
nssheung/School-Management-System/_hidden/tour/tour2.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# Teacher send notice to student
|
||||
|
||||
teacher (`amy_tsui@school.com` / `amy_tsui`)
|
||||
|
||||
student (`john_ho@school.com/john_ho`)
|
||||
|
||||
1. teacher: add new notice
|
||||
1. add new notice
|
||||
- select `john_ho@school.com` from student list
|
||||
- fill subject `A warm greetings from teacher`(__REQUIRED !!!__)
|
||||
- fill content `Hello welcome to the class` (__REQUIRED !!!__)
|
||||
1. click `add` button
|
||||
|
||||
1. student:
|
||||
1. on dashboard page
|
||||
- new notice found (notice count on left side bar notice button +1)
|
||||
1. click notice button on left side bar
|
||||
1. read new notice
|
||||
- click read button
|
||||
1. click back
|
||||
1. new notice remains = 1
|
||||
|
||||
1. end
|
BIN
nssheung/School-Management-System/_hidden/tour/tour3-handdraft.jpg
(Stored with Git LFS)
Normal file
BIN
nssheung/School-Management-System/_hidden/tour/tour3-handdraft.jpg
(Stored with Git LFS)
Normal file
Binary file not shown.
45
nssheung/School-Management-System/_hidden/tour/tour3.md
Normal file
45
nssheung/School-Management-System/_hidden/tour/tour3.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# Teacher take attendance
|
||||
|
||||
## characters:
|
||||
|
||||
1. teacher (`amy_tsui@school.com` / `amy_tsui`)
|
||||
|
||||
1. student_john (`john_ho@school.com/john_ho`)
|
||||
|
||||
1. student_sarah (`sarah_fung@school.com/sarah_fung`)
|
||||
|
||||
## steps:
|
||||
|
||||
1. teacher: click left sidebar `Apply schedule`
|
||||
|
||||
1. tick `Design and Technology`
|
||||
1. click `save`
|
||||
1. back to dashboard
|
||||
1. `schedule overview` -> `Design and Technology` have been added !
|
||||
|
||||
1. student_john: click left sidebar `Apply subject`
|
||||
|
||||
1. tick `Design and Technology`
|
||||
1. click `save`
|
||||
1. back to dashboard
|
||||
1. `schedule overview` -> `Design and Technology` have been added !
|
||||
|
||||
1. student_sarah: click left sidebar `Apply subject`
|
||||
|
||||
1. tick `Design and Technology`
|
||||
1. click `save`
|
||||
1. back to dashboard
|
||||
1. `schedule overview` -> `Design and Technology` have been added !
|
||||
|
||||
1. teacher: `Applicable schedule`
|
||||
|
||||
1. find `Subject: Design and Technology Course`
|
||||
1. click `update attendance`
|
||||
1. tick `present`
|
||||
1. click `save`
|
||||
1. redirect to `Applicable schedule`
|
||||
1. click `view attendance`
|
||||
1. `john_ho@school.com` present
|
||||
1. `sarah_fung@school.com` not present
|
||||
|
||||
1. end
|
19
nssheung/School-Management-System/console.json
Normal file
19
nssheung/School-Management-System/console.json
Normal file
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"child": {
|
||||
"directory": "/home/logic",
|
||||
"height": 1001,
|
||||
"profile": "2b7c4080-0ddd-46c5-8f23-563fd3ba789d",
|
||||
"readOnly": false,
|
||||
"synchronizedInput": true,
|
||||
"type": "Terminal",
|
||||
"uuid": "685da7dd-8bf6-43ef-9cca-48aacd2674f7",
|
||||
"width": 1920
|
||||
},
|
||||
"height": 1001,
|
||||
"name": "${title}",
|
||||
"synchronizedInput": false,
|
||||
"type": "Session",
|
||||
"uuid": "cf916fe7-de45-43d8-879e-64c3b141b152",
|
||||
"version": "1.0",
|
||||
"width": 1920
|
||||
}
|
9
nssheung/School-Management-System/defects/Dockerfile
Normal file
9
nssheung/School-Management-System/defects/Dockerfile
Normal file
@@ -0,0 +1,9 @@
|
||||
# CREDIT: https://github.com/shren207/nextjs-docker-compose
|
||||
# Dockerfile
|
||||
FROM node:18-buster
|
||||
|
||||
RUN mkdir -p /app/node_modules
|
||||
RUN chown 1000:1000 -R /app
|
||||
WORKDIR /app
|
||||
|
||||
USER 1000:1000
|
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"salt": "6afd70ebde4e587a19a4631b70ff6112"
|
||||
}
|
5
nssheung/School-Management-System/defects/app/entry.sh
Normal file
5
nssheung/School-Management-System/defects/app/entry.sh
Normal file
@@ -0,0 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
|
||||
npm i
|
||||
npm run start
|
1226
nssheung/School-Management-System/defects/app/package-lock.json
generated
Normal file
1226
nssheung/School-Management-System/defects/app/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
17
nssheung/School-Management-System/defects/app/package.json
Normal file
17
nssheung/School-Management-System/defects/app/package.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "app",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1",
|
||||
"start": "http-server --cors ./public"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"http-server": "^14.1.1",
|
||||
"serve": "^14.2.0"
|
||||
}
|
||||
}
|
@@ -0,0 +1,75 @@
|
||||
# readme.md
|
||||
|
||||
## 網站名:
|
||||
- Good day learning center by PHP and Mysql
|
||||
|
||||
## Defects (Outstandings)
|
||||
|
||||
1. 當我改左 subject 既 title, 但係出面 schedule 喺唔會更改
|
||||
- https://youtu.be/0Lts3iMzqUs
|
||||
|
||||
1. um 我諗按完 save 之後,畫面會 refresh,然後keep住係原畫面show到新改既嘢就ok。有冇得係整個prompt show save success?
|
||||
- teacher info
|
||||
- https://youtu.be/YRzqNcW78NI
|
||||
- student info
|
||||
- https://youtu.be/7GqNrjmVN_0
|
||||
|
||||
1. 當係 apply schedule 裡面按左save既時候會彈出去主頁
|
||||
- https://youtu.be/s363X4iON4g
|
||||
|
||||
1. 我地發現之前比你果個project既requirement 太簡潔🤣 可能要加番啲內容,例如大家可以用自己account login,老師整番幾個dept,學生個schedule table要detail啲,同埋個網站要加番啲msg
|
||||
|
||||
|
||||
## 時間:
|
||||
- 4月21 - (milestone 1)
|
||||
- 5月20 - (milestone 2)
|
||||
|
||||
## Roles of users and the functions
|
||||
### Administrator
|
||||
- (4月21)
|
||||
- [x] Update, Add, Delete Subject (4月21)
|
||||
- [x] Update, Add, Delete Schedule (4月21)
|
||||
- [x] Update, Add, Delete ClassRoom (4月21)
|
||||
- [x] Update, Add, Delete Student (4月21)
|
||||
- [x] Update, Add, Delete Teacher (4月21)
|
||||
|
||||
- 5月20
|
||||
- Update, Add, Delete Attendance
|
||||
- Update, Add, Delete Exam
|
||||
- Update, Add, Delete ExamResult
|
||||
- Update, Add Payment info
|
||||
- Print payment receipt
|
||||
|
||||
### Teacher:
|
||||
- 4月21
|
||||
- Update , Add Student (4月21)
|
||||
- Update Teacher (4月21)
|
||||
- Update Subject (4月21)
|
||||
- Update Add, Delete Schedule (4月21)
|
||||
- View class room (4月21)
|
||||
|
||||
- 5月20
|
||||
- Update Add, Delete Attendance
|
||||
- Update, Add, Delete Exam
|
||||
- Add Exam result
|
||||
- Send Notice to student and Administrator
|
||||
|
||||
### Student:
|
||||
- 4月21
|
||||
- View Schedule (4月21)
|
||||
|
||||
- 5月20
|
||||
- View Notice
|
||||
- View Exam Results
|
||||
|
||||
## UI:
|
||||
- 簡潔就可
|
||||
- 
|
||||
|
||||
## DOCS:
|
||||
- Project Proposal
|
||||
- Initial Report~
|
||||
- prototype Demo - 1st version
|
||||
- 之後六月再做好另外果一半既網站,
|
||||
- 先交document and user guide
|
||||
|
818
nssheung/School-Management-System/defects/app/public/index.html
Normal file
818
nssheung/School-Management-System/defects/app/public/index.html
Normal file
File diff suppressed because one or more lines are too long
@@ -0,0 +1,560 @@
|
||||
/*
|
||||
"GitHub Flavor", a GitHub flavored CSS style sheet for Markdown documents.
|
||||
Based on Chris Patuzzo's github.css (https://gist.github.com/tuzz/3331384).
|
||||
|
||||
|
||||
author: Fabrizio Musacchio (https://www.fabriziomusacchio.com)
|
||||
date: 03.01.2020
|
||||
|
||||
|
||||
License:
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
|
||||
/*Main body*/
|
||||
body {
|
||||
font-family: Helvetica, arial, sans-serif;
|
||||
font-size: 14px;
|
||||
line-height: 1.4em;
|
||||
background-color: white;
|
||||
padding-top: 10px;
|
||||
padding-bottom: 10px;
|
||||
padding-left: 25px;
|
||||
padding-right: 25px; }
|
||||
|
||||
body > *:first-child {
|
||||
margin-top: 0 !important; }
|
||||
body > *:last-child {
|
||||
margin-bottom:0 !important; }
|
||||
|
||||
/* Smooth scrolling */
|
||||
@media screen and (prefers-reduced-motion: no-preference) {
|
||||
html {
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
}
|
||||
|
||||
/*Links*/
|
||||
a {
|
||||
color: #3973ad;
|
||||
text-decoration: none;}
|
||||
a:hover{
|
||||
/* text-decoration: underline; */
|
||||
color: #4183C4;
|
||||
}
|
||||
a.absent {
|
||||
color: #cc0000; }
|
||||
a.anchor {
|
||||
display: block;
|
||||
padding-left: 30px;
|
||||
margin-left: -30px;
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0; }
|
||||
|
||||
/*Headlines*/
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin: 20px 0 10px;
|
||||
padding: 0;
|
||||
line-height: 1.4em;
|
||||
font-weight: bold;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
cursor: text;
|
||||
position: relative; }
|
||||
|
||||
h1 tt, h1 code {
|
||||
font-size: inherit; }
|
||||
|
||||
h2 tt, h2 code {
|
||||
font-size: inherit; }
|
||||
|
||||
h3 tt, h3 code {
|
||||
font-size: inherit; }
|
||||
|
||||
h4 tt, h4 code {
|
||||
font-size: inherit; }
|
||||
|
||||
h5 tt, h5 code {
|
||||
font-size: inherit; }
|
||||
|
||||
h6 tt, h6 code {
|
||||
font-size: inherit; }
|
||||
|
||||
h1 {
|
||||
font-size: 28px;
|
||||
color: black; }
|
||||
|
||||
h2 {
|
||||
font-size: 24px;
|
||||
border-bottom: 1px solid #cccccc;
|
||||
color: black; }
|
||||
|
||||
h3 {
|
||||
font-size: 18px; }
|
||||
|
||||
h4 {
|
||||
font-size: 16px; }
|
||||
|
||||
h5 {
|
||||
font-size: 14px; }
|
||||
|
||||
h6 {
|
||||
color: #777777;
|
||||
font-size: 14px; }
|
||||
|
||||
p, blockquote, ul, ol, dl, li, table, pre {
|
||||
margin: 15px 0; }
|
||||
|
||||
/*Margins and paddings of the first line content*/
|
||||
body > h2:first-child {
|
||||
margin-top: 0;
|
||||
padding-top: 0; }
|
||||
body > h1:first-child {
|
||||
margin-top: 0;
|
||||
padding-top: 0; }
|
||||
body > h1:first-child + h2 {
|
||||
margin-top: 0;
|
||||
padding-top: 0; }
|
||||
body > h3:first-child, body > h4:first-child, body > h5:first-child, body > h6:first-child {
|
||||
margin-top: 0;
|
||||
padding-top: 0; }
|
||||
|
||||
a:first-child h1, a:first-child h2, a:first-child h3, a:first-child h4, a:first-child h5, a:first-child h6 {
|
||||
margin-top: 0;
|
||||
padding-top: 0; }
|
||||
|
||||
h1 p, h2 p, h3 p, h4 p, h5 p, h6 p {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
/*Lists*/
|
||||
ul li,ol li{
|
||||
margin-top: .15em;
|
||||
margin-bottom: .15em;
|
||||
}
|
||||
ul li li{
|
||||
margin-left: -15px;
|
||||
}
|
||||
ul ul,ul ol,ol ol,ol ul{
|
||||
margin-top: 0;
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
/*Footnotes*/
|
||||
a[href^="#fn:"]:after{
|
||||
content: ')';
|
||||
font-size: 0.83em;
|
||||
vertical-align: super;
|
||||
line-height: 0;
|
||||
}
|
||||
/*Highlights the BG of current jumped-to footnote:*/
|
||||
li:target {
|
||||
background-color: #e8fef6;
|
||||
}
|
||||
.footnotes > ol > li > p {
|
||||
display: inline;
|
||||
}
|
||||
.footnotes ol {
|
||||
list-style: none;
|
||||
counter-reset: footnotes;
|
||||
padding-left: 15px;
|
||||
}
|
||||
.footnotes ol li {
|
||||
counter-increment:footnotes;
|
||||
}
|
||||
.footnotes ol li:before {
|
||||
/* background-color: #e8fef6; */
|
||||
font-weight: bold;
|
||||
/* counter-reset: footnotes; */
|
||||
content: counters(footnotes, ".") ")";
|
||||
}
|
||||
.footnotes li {
|
||||
padding-bottom: 0.45em;
|
||||
}
|
||||
.footnotes {
|
||||
/* only use is for border, background-color of block */
|
||||
/* border: dashed 0px #f4f5f8; */
|
||||
background-color: #f4f5f8;
|
||||
padding: 0em 0em 0.25em 0em;
|
||||
}
|
||||
/*.footnotes:before{
|
||||
content: "Footnotes";
|
||||
font-size: 1.2em;
|
||||
font-weight: bold;
|
||||
line-height: 2.5em;
|
||||
padding-left: 0.5em;
|
||||
}*/
|
||||
|
||||
/*TOC (for DEVONthink Markdown documents; for other editors, try e.g. ".toc")*/
|
||||
.TOC {
|
||||
background: #f4f5f8 none repeat scroll 0 0; //f3f6f6
|
||||
border: 0px solid #aaa;
|
||||
border-radius: 10px;
|
||||
display: table;
|
||||
font-size: 95%;
|
||||
margin-bottom: 1em;
|
||||
padding-left: 2px;
|
||||
padding-top: 2px;
|
||||
padding-bottom: 2px;
|
||||
padding-right: 2px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/*uncomment if you'd like to automatically add a title to your TOC:*/
|
||||
/*.TOC:before {
|
||||
content: "Table of Contents";
|
||||
font-weight: bold;
|
||||
font-size: 1.1em;
|
||||
color: #3973ad;
|
||||
padding-left: 1em;
|
||||
margin-bottom: -1em;
|
||||
line-height: 3em;
|
||||
}*/
|
||||
|
||||
.TOC li, .TOC ul, .TOC ul li{
|
||||
list-style: decimal;
|
||||
}
|
||||
|
||||
.top-link {
|
||||
transition: all .25s ease-in-out;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
display: inline-flex;
|
||||
color: #000000;
|
||||
|
||||
cursor: pointer;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin: 0 2em 2em 0;
|
||||
border-radius: 50%;
|
||||
padding: .25em;
|
||||
width: 1em;
|
||||
height: 1em;
|
||||
background-color: #F8F8F8;
|
||||
}
|
||||
|
||||
/*Check-Boxes/To-Do-Boxes (doesn't work in DEVONthink Markdown documents)*/
|
||||
/* ul li.checkbox {
|
||||
appearance: none;
|
||||
background-color: #fff;
|
||||
margin: 0;
|
||||
font: inherit;
|
||||
color: #b2b2b2;
|
||||
width: 1.15em;
|
||||
height: 1.15em;
|
||||
border: 0.15em solid #b2b2b2;
|
||||
border-radius: 0.15em;
|
||||
} */
|
||||
|
||||
/* input[type="checkbox"] {
|
||||
appearance: none;
|
||||
background-color: #fff;
|
||||
margin: 0;
|
||||
font: inherit;
|
||||
color: #b2b2b2;
|
||||
width: 1.15em;
|
||||
height: 1.15em;
|
||||
border: 0.15em solid #b2b2b2;
|
||||
border-radius: 0.15em;
|
||||
}
|
||||
|
||||
input[type="checkbox"]::before {
|
||||
content: " ";
|
||||
width: 0.65em;
|
||||
height: 0.65em;
|
||||
clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
|
||||
}
|
||||
|
||||
input[type="checkbox"]:checked::after {
|
||||
content: "_";
|
||||
color: #cdef9a;
|
||||
box-shadow: inset 4em 2em #cdef9a;
|
||||
}
|
||||
|
||||
.task-list-item {
|
||||
list-style-type: none;
|
||||
margin-top: 0px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.task-list-item input {
|
||||
margin: 0 0.2em .25em -1.6em;
|
||||
vertical-align: middle;
|
||||
padding-bottom: 0px;
|
||||
opacity: 1;
|
||||
} */
|
||||
|
||||
/*Definition lists*/
|
||||
dl {
|
||||
padding: 0; }
|
||||
dl dt {
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
font-style: italic;
|
||||
padding: 0;
|
||||
margin: 15px 0 5px; }
|
||||
dl dt:first-child {
|
||||
padding: 0; }
|
||||
dl dt > :first-child {
|
||||
margin-top: 0; }
|
||||
dl dt > :last-child {
|
||||
margin-bottom: 0; }
|
||||
dl dd {
|
||||
margin: 0 0 15px;
|
||||
padding: 0 15px; }
|
||||
dl dd > :first-child {
|
||||
margin-top: 0; }
|
||||
dl dd > :last-child {
|
||||
margin-bottom: 0; }
|
||||
|
||||
/*Quotes*/
|
||||
blockquote {
|
||||
border-left: 4px solid #dddddd;
|
||||
padding: 0 15px;
|
||||
font-style: normal;
|
||||
color: #5598c1; } /* 777777 */
|
||||
blockquote > :first-child {
|
||||
margin-top: 0; }
|
||||
blockquote > :last-child {
|
||||
margin-bottom: 0; }
|
||||
|
||||
/*Tables*/
|
||||
table {
|
||||
padding: 0;border-collapse: collapse;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
text-align: center;}
|
||||
table tr {
|
||||
/* border-top: 1px solid #cccccc; */
|
||||
background-color: white;
|
||||
margin: 0;
|
||||
padding: 0; }
|
||||
table tr:nth-child(2n) {
|
||||
background-color: #f8f8f8; }
|
||||
table tr th {
|
||||
font-weight: bold;
|
||||
/* border: 0.5px solid #cccccc; */
|
||||
/* border-left: 0.5px solid #cccccc;
|
||||
border-right: 0.5px solid #cccccc; */
|
||||
background-color: #eefbff;
|
||||
font-size: 14px;
|
||||
margin: 0;
|
||||
padding: 0.4em 0.35em 0.4em 0.35em; }
|
||||
table tr td {
|
||||
/* border: 1px solid #cccccc; */
|
||||
margin: 0;
|
||||
font-size: 14px;
|
||||
padding: 5px 5px; }
|
||||
table tr th :first-child, table tr td :first-child {
|
||||
margin-top: 0; }
|
||||
table tr th :last-child, table tr td :last-child {
|
||||
margin-bottom: 0; }
|
||||
|
||||
/*Images*/
|
||||
img {
|
||||
max-width: 100%;}
|
||||
/*Alternative: center Images*/
|
||||
/* img {
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
margin-left: auto;
|
||||
margin-right: auto; }
|
||||
*/
|
||||
|
||||
/*Span*/
|
||||
span.frame {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
}
|
||||
span.frame > span {
|
||||
border: 1px solid #dddddd;
|
||||
display: block;
|
||||
float: left;
|
||||
overflow: hidden;
|
||||
margin: 13px 0 0;
|
||||
padding: 7px;
|
||||
width: auto;
|
||||
}
|
||||
span.frame span img {
|
||||
display: block;
|
||||
float: left;
|
||||
}
|
||||
span.frame span span {
|
||||
clear: both;
|
||||
color: #333333;
|
||||
display: block;
|
||||
padding: 5px 0 0;
|
||||
}
|
||||
span.align-center {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
clear: both;
|
||||
}
|
||||
span.align-center > span {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
margin: 13px auto 0;
|
||||
text-align: center;
|
||||
}
|
||||
span.align-center span img {
|
||||
margin: 0 auto;
|
||||
text-align: center;
|
||||
}
|
||||
span.align-right {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
clear: both;
|
||||
}
|
||||
span.align-right > span {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
margin: 13px 0 0;
|
||||
text-align: right;
|
||||
}
|
||||
span.align-right span img {
|
||||
margin: 0;
|
||||
text-align: right;
|
||||
}
|
||||
span.float-left {
|
||||
display: block;
|
||||
margin-right: 13px;
|
||||
overflow: hidden;
|
||||
float: left;
|
||||
}
|
||||
span.float-left span {
|
||||
margin: 13px 0 0;
|
||||
}
|
||||
span.float-right {
|
||||
display: block;
|
||||
margin-left: 13px;
|
||||
overflow: hidden;
|
||||
float: right;
|
||||
}
|
||||
span.float-right > span {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
margin: 13px auto 0;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
/*Code blocks*/
|
||||
code, tt {
|
||||
margin: 0 2px;
|
||||
padding: 0 5px;
|
||||
white-space: nowrap;
|
||||
border: 1px solid #eaeaea;
|
||||
background-color: #f8f8f8;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
pre code {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
white-space: pre;
|
||||
border: none;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.highlight pre {
|
||||
background-color: #f8f8f8;
|
||||
border: 1px solid #cccccc;
|
||||
font-size: 13px;
|
||||
line-height: 19px;
|
||||
overflow: auto;
|
||||
padding: 6px 10px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
/*Preformatted text*/
|
||||
pre {
|
||||
background-color: #f8f8f8;
|
||||
border: 1px solid #cccccc;
|
||||
/*font-size: 13px;*/
|
||||
font-size: 0.90em !important;
|
||||
line-height: 1.6em !important; //19px
|
||||
overflow: auto;
|
||||
padding: 6px 10px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
pre code, pre tt {
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
}
|
||||
|
||||
/*Superscript text*/
|
||||
sup {
|
||||
font-size: 0.83em;
|
||||
vertical-align: super;
|
||||
line-height: 0;
|
||||
}
|
||||
|
||||
/*Subscript text*/
|
||||
sub {
|
||||
font-size: 0.83em;
|
||||
vertical-align: sub;
|
||||
line-height: 0;
|
||||
}
|
||||
|
||||
/*Define keyboard input*/
|
||||
kbd {
|
||||
display: inline-block;
|
||||
padding: 3px 5px;
|
||||
font-size: 11px;
|
||||
line-height: 10px;
|
||||
color: #555;
|
||||
vertical-align: middle;
|
||||
background-color: #fcfcfc;
|
||||
border: solid 1px #ccc;
|
||||
border-bottom-color:#bbb;
|
||||
border-radius: 3px;
|
||||
box-shadow: inset 0 -1px 0 #bbb
|
||||
}
|
||||
|
||||
/*Color of highlighted text*/
|
||||
mark {
|
||||
background-color: #fdfdcc;
|
||||
color: black;
|
||||
}
|
||||
|
||||
/*Adjustments for printing*/
|
||||
* {
|
||||
-webkit-print-color-adjust: exact;
|
||||
}
|
||||
@media screen and (min-width: 914px) {
|
||||
body {
|
||||
width: 854px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
}
|
||||
@media print {
|
||||
table, pre {
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
pre {
|
||||
word-wrap: break-word;
|
||||
}
|
||||
body {
|
||||
padding: 2cm;
|
||||
}
|
||||
}
|
@@ -0,0 +1,5 @@
|
||||
npm i markdown-to-html staticrypt
|
||||
|
||||
npx github-markdown public/defects.md --stylesheet md_style.css > public/index.html
|
||||
|
||||
npx staticrypt public/index.html -p nssheung_nssheung_nssheung -d public
|
36
nssheung/School-Management-System/defects/docker-compose.yml
Normal file
36
nssheung/School-Management-System/defects/docker-compose.yml
Normal file
@@ -0,0 +1,36 @@
|
||||
# CREDIT: https://github.com/shren207/nextjs-docker-compose
|
||||
# CREATED: 03-12-2023
|
||||
services:
|
||||
nssheung_share:
|
||||
container_name: nssheung_share
|
||||
build: .
|
||||
restart: always
|
||||
volumes:
|
||||
- ./app:/app
|
||||
- nssheung_node_modules:/app/node_modules
|
||||
working_dir: /app
|
||||
# command: sleep infinity
|
||||
command: bash entry.sh
|
||||
|
||||
# ports:
|
||||
# - 8080
|
||||
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.nssheung-http.rule=Host(`nssheung.louislabs.com`)"
|
||||
- "traefik.http.routers.nssheung-http.entrypoints=web"
|
||||
- "traefik.http.routers.nssheung-http.middlewares=nssheung-https"
|
||||
- "traefik.http.middlewares.nssheung-https.redirectscheme.scheme=https"
|
||||
- "traefik.http.routers.nssheung.rule=Host(`nssheung.louislabs.com`)"
|
||||
- "traefik.http.routers.nssheung.entrypoints=websecure"
|
||||
- "traefik.http.routers.nssheung.tls.certresolver=myresolver"
|
||||
- "traefik.http.services.nssheung.loadbalancer.server.port=8080"
|
||||
- "expire=2023-05-23"
|
||||
|
||||
networks:
|
||||
default:
|
||||
external:
|
||||
name: traefik-proxy-network
|
||||
|
||||
volumes:
|
||||
nssheung_node_modules:
|
3401
nssheung/School-Management-System/defects/package-lock.json
generated
Normal file
3401
nssheung/School-Management-System/defects/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
20
nssheung/School-Management-System/defects/package.json
Normal file
20
nssheung/School-Management-System/defects/package.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"name": "app",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1",
|
||||
"start": "http-server --cors ./public",
|
||||
"gitUpdate": "git add . && git commit -m \"update defects page,\" && git push"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"http-server": "^14.1.1",
|
||||
"markdown-to-html": "^0.0.13",
|
||||
"serve": "^14.2.0",
|
||||
"staticrypt": "^3.3.0"
|
||||
}
|
||||
}
|
9
nssheung/School-Management-System/defects/up.sh
Normal file
9
nssheung/School-Management-System/defects/up.sh
Normal file
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
docker compose kill
|
||||
docker compose down
|
||||
|
||||
docker compose up -d --build
|
||||
docker compose logs -f
|
7
nssheung/School-Management-System/packDist.sh
Normal file
7
nssheung/School-Management-System/packDist.sh
Normal file
@@ -0,0 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
rm -rf ./dist/delivery.zip
|
||||
|
||||
set -ex
|
||||
|
||||
7za a -mx9 -tzip ./dist/delivery.zip src _hidden -r
|
14
nssheung/School-Management-System/pack_delivery.bat
Normal file
14
nssheung/School-Management-System/pack_delivery.bat
Normal file
@@ -0,0 +1,14 @@
|
||||
|
||||
@cmd /c del dist\delivery.zip
|
||||
|
||||
@REM @echo off
|
||||
@REM 2>nul (
|
||||
@REM command1
|
||||
@REM command2
|
||||
@REM command3
|
||||
@REM )
|
||||
|
||||
@REM # @REM zip -r %DIST%/*.zip .
|
||||
@REM @REM powershell Compress-Archive .\src .\dist\src.zip
|
||||
@REM @REM powershell Compress-Archive .\_hidden .\dist\_hidden.zip
|
||||
"C:\Program Files\7-Zip\7z" a -mx9 .\dist\delivery.zip src _hidden
|
15
nssheung/School-Management-System/package.json
Normal file
15
nssheung/School-Management-System/package.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"name": "school-management-system",
|
||||
"version": "1.0.0",
|
||||
"description": "## to start develop environment",
|
||||
"main": "index.js",
|
||||
"directories": {
|
||||
"test": "test"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
"license": "ISC"
|
||||
}
|
32
nssheung/School-Management-System/sitemap.md
Normal file
32
nssheung/School-Management-System/sitemap.md
Normal file
@@ -0,0 +1,32 @@
|
||||
### administrator
|
||||
- Student
|
||||
- Teacher
|
||||
- Subject
|
||||
- Schedule
|
||||
- Class room
|
||||
- User
|
||||
|
||||
- Attendance
|
||||
- Exam
|
||||
- Exam result
|
||||
- Payment info
|
||||
- payment receipt
|
||||
|
||||
### teacher
|
||||
- Student
|
||||
- Teacher / Info
|
||||
- Schedule
|
||||
- View class room
|
||||
|
||||
- Attendance
|
||||
- Exam
|
||||
- Exam result
|
||||
- Notice to student and Administrator
|
||||
|
||||
### student
|
||||
- View Schedule (4月21)
|
||||
- View Notice
|
||||
- View Exam Results
|
||||
|
||||
### common
|
||||
- login / logout
|
12
nssheung/School-Management-System/src/.editorconfig
Normal file
12
nssheung/School-Management-System/src/.editorconfig
Normal file
@@ -0,0 +1,12 @@
|
||||
# EditorConfig is awesome: https://EditorConfig.org
|
||||
|
||||
# top-most EditorConfig file
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
144
nssheung/School-Management-System/src/.gitignore
vendored
Normal file
144
nssheung/School-Management-System/src/.gitignore
vendored
Normal file
@@ -0,0 +1,144 @@
|
||||
# Created by https://www.toptal.com/developers/gitignore/api/node
|
||||
# Edit at https://www.toptal.com/developers/gitignore?templates=node
|
||||
|
||||
### Node ###
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
lerna-debug.log*
|
||||
.pnpm-debug.log*
|
||||
|
||||
# Diagnostic reports (https://nodejs.org/api/report.html)
|
||||
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
||||
|
||||
# Runtime data
|
||||
pids
|
||||
*.pid
|
||||
*.seed
|
||||
*.pid.lock
|
||||
|
||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||
lib-cov
|
||||
|
||||
# Coverage directory used by tools like istanbul
|
||||
coverage
|
||||
*.lcov
|
||||
|
||||
# nyc test coverage
|
||||
.nyc_output
|
||||
|
||||
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
||||
.grunt
|
||||
|
||||
# Bower dependency directory (https://bower.io/)
|
||||
bower_components
|
||||
|
||||
# node-waf configuration
|
||||
.lock-wscript
|
||||
|
||||
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||
build/Release
|
||||
|
||||
# Dependency directories
|
||||
node_modules/
|
||||
jspm_packages/
|
||||
|
||||
# Snowpack dependency directory (https://snowpack.dev/)
|
||||
web_modules/
|
||||
|
||||
# TypeScript cache
|
||||
*.tsbuildinfo
|
||||
|
||||
# Optional npm cache directory
|
||||
.npm
|
||||
|
||||
# Optional eslint cache
|
||||
.eslintcache
|
||||
|
||||
# Optional stylelint cache
|
||||
.stylelintcache
|
||||
|
||||
# Microbundle cache
|
||||
.rpt2_cache/
|
||||
.rts2_cache_cjs/
|
||||
.rts2_cache_es/
|
||||
.rts2_cache_umd/
|
||||
|
||||
# Optional REPL history
|
||||
.node_repl_history
|
||||
|
||||
# Output of 'npm pack'
|
||||
*.tgz
|
||||
|
||||
# Yarn Integrity file
|
||||
.yarn-integrity
|
||||
|
||||
# dotenv environment variable files
|
||||
.env
|
||||
.env.development.local
|
||||
.env.test.local
|
||||
.env.production.local
|
||||
.env.local
|
||||
|
||||
# parcel-bundler cache (https://parceljs.org/)
|
||||
.cache
|
||||
.parcel-cache
|
||||
|
||||
# Next.js build output
|
||||
.next
|
||||
out
|
||||
|
||||
# Nuxt.js build / generate output
|
||||
.nuxt
|
||||
dist
|
||||
|
||||
# Gatsby files
|
||||
.cache/
|
||||
# Comment in the public line in if your project uses Gatsby and not Next.js
|
||||
# https://nextjs.org/blog/next-9-1#public-directory-support
|
||||
# public
|
||||
|
||||
# vuepress build output
|
||||
.vuepress/dist
|
||||
|
||||
# vuepress v2.x temp and cache directory
|
||||
.temp
|
||||
|
||||
# Docusaurus cache and generated files
|
||||
.docusaurus
|
||||
|
||||
# Serverless directories
|
||||
.serverless/
|
||||
|
||||
# FuseBox cache
|
||||
.fusebox/
|
||||
|
||||
# DynamoDB Local files
|
||||
.dynamodb/
|
||||
|
||||
# TernJS port file
|
||||
.tern-port
|
||||
|
||||
# Stores VSCode versions used for testing VSCode extensions
|
||||
.vscode-test
|
||||
|
||||
# yarn v2
|
||||
.yarn/cache
|
||||
.yarn/unplugged
|
||||
.yarn/build-state.yml
|
||||
.yarn/install-state.gz
|
||||
.pnp.*
|
||||
|
||||
### Node Patch ###
|
||||
# Serverless Webpack directories
|
||||
.webpack/
|
||||
|
||||
# Optional stylelint cache
|
||||
|
||||
# SvelteKit build / generate output
|
||||
.svelte-kit
|
||||
|
||||
# End of https://www.toptal.com/developers/gitignore/api/node
|
2
nssheung/School-Management-System/src/.prettierignore
Normal file
2
nssheung/School-Management-System/src/.prettierignore
Normal file
@@ -0,0 +1,2 @@
|
||||
vendor
|
||||
storage
|
97
nssheung/School-Management-System/src/bs-config.js
Normal file
97
nssheung/School-Management-System/src/bs-config.js
Normal file
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Browser-sync config file
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| For up-to-date information about the options:
|
||||
| http://www.browsersync.io/docs/options/
|
||||
|
|
||||
| There are more options than you see here, these are just the ones that are
|
||||
| set internally. See the website for more info.
|
||||
|
|
||||
|
|
||||
*/
|
||||
module.exports = {
|
||||
ui: {
|
||||
port: 3001,
|
||||
},
|
||||
files: false,
|
||||
watchEvents: ['change'],
|
||||
watch: false,
|
||||
ignore: [],
|
||||
single: false,
|
||||
watchOptions: {
|
||||
ignoreInitial: true,
|
||||
},
|
||||
server: false,
|
||||
proxy: false,
|
||||
port: 3000,
|
||||
middleware: false,
|
||||
serveStatic: [],
|
||||
ghostMode: {
|
||||
clicks: true,
|
||||
scroll: true,
|
||||
location: true,
|
||||
forms: {
|
||||
submit: true,
|
||||
inputs: true,
|
||||
toggles: true,
|
||||
},
|
||||
},
|
||||
logLevel: 'info',
|
||||
logPrefix: 'Browsersync',
|
||||
logConnections: false,
|
||||
logFileChanges: true,
|
||||
logSnippet: true,
|
||||
rewriteRules: [],
|
||||
open: false,
|
||||
browser: 'default',
|
||||
cors: false,
|
||||
xip: false,
|
||||
hostnameSuffix: false,
|
||||
reloadOnRestart: false,
|
||||
notify: true,
|
||||
scrollProportionally: true,
|
||||
scrollThrottle: 0,
|
||||
scrollRestoreTechnique: 'window.name',
|
||||
scrollElements: [],
|
||||
scrollElementMapping: [],
|
||||
reloadDelay: 0,
|
||||
reloadDebounce: 500,
|
||||
reloadThrottle: 0,
|
||||
plugins: [],
|
||||
injectChanges: true,
|
||||
startPath: null,
|
||||
minify: true,
|
||||
host: null,
|
||||
localOnly: false,
|
||||
codeSync: true,
|
||||
timestamps: true,
|
||||
clientEvents: ['scroll', 'scroll:element', 'input:text', 'input:toggles', 'form:submit', 'form:reset', 'click'],
|
||||
socket: {
|
||||
socketIoOptions: {
|
||||
log: false,
|
||||
},
|
||||
socketIoClientConfig: {
|
||||
reconnectionAttempts: 50,
|
||||
},
|
||||
path: '/browser-sync/socket.io',
|
||||
clientPath: '/browser-sync',
|
||||
namespace: '/browser-sync',
|
||||
clients: {
|
||||
heartbeatTimeout: 5000,
|
||||
},
|
||||
},
|
||||
tagNames: {
|
||||
less: 'link',
|
||||
scss: 'link',
|
||||
css: 'link',
|
||||
jpg: 'img',
|
||||
jpeg: 'img',
|
||||
png: 'img',
|
||||
svg: 'img',
|
||||
gif: 'img',
|
||||
js: 'script',
|
||||
},
|
||||
injectNotification: false,
|
||||
};
|
6
nssheung/School-Management-System/src/clear_docker.ps1
Normal file
6
nssheung/School-Management-System/src/clear_docker.ps1
Normal file
@@ -0,0 +1,6 @@
|
||||
# Stop and remove all running containers
|
||||
docker stop $(docker ps -a -q)
|
||||
docker rm $(docker ps -a -q)
|
||||
|
||||
# Remove all container images
|
||||
docker rmi $(docker images -q)
|
48
nssheung/School-Management-System/src/docker-compose.yml
Normal file
48
nssheung/School-Management-System/src/docker-compose.yml
Normal file
@@ -0,0 +1,48 @@
|
||||
services:
|
||||
mysql:
|
||||
image: mysql:latest
|
||||
ports:
|
||||
- 3306:3306
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: root
|
||||
MYSQL_DATABASE: laravel
|
||||
MYSQL_USER: project
|
||||
MYSQL_PASSWORD: project
|
||||
|
||||
phpmyadmin:
|
||||
image: phpmyadmin/phpmyadmin
|
||||
ports:
|
||||
- 8089:80
|
||||
environment:
|
||||
PMA_HOST: mysql
|
||||
PMA_USER: project
|
||||
PMA_PASSWORD: project
|
||||
UPLOAD_LIMIT: 10G
|
||||
MAX_EXECUTION_TIME: 1800
|
||||
depends_on:
|
||||
- mysql
|
||||
|
||||
php74-httpd:
|
||||
# image: composer
|
||||
build: php74-httpd
|
||||
ports:
|
||||
- 8000:8000
|
||||
volumes:
|
||||
- php74_vendor:/app/vendor
|
||||
- ./php74-httpd:/app
|
||||
- ./php74-httpd/php-cli.ini:/usr/local/etc/php/conf.d/php-cli.ini
|
||||
working_dir: /app
|
||||
user: 1000:1000
|
||||
command: sleep infinity
|
||||
depends_on:
|
||||
- mysql
|
||||
|
||||
mailhog:
|
||||
image: mailhog/mailhog:latest
|
||||
ports:
|
||||
- 1025:1025
|
||||
- 8025:8025
|
||||
|
||||
volumes:
|
||||
php74_vendor:
|
||||
|
10
nssheung/School-Management-System/src/init_helloworld.sh
Normal file
10
nssheung/School-Management-System/src/init_helloworld.sh
Normal file
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
rm -rf example-app
|
||||
|
||||
composer create-project laravel/laravel example-app
|
||||
|
||||
pushd example-app
|
||||
php artisan serve --host 0.0.0.0
|
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"watch": [
|
||||
"**/*.blade.php"
|
||||
],
|
||||
"ext": "blade.php",
|
||||
"delay": "200"
|
||||
}
|
5
nssheung/School-Management-System/src/nodemon-php.json
Normal file
5
nssheung/School-Management-System/src/nodemon-php.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"watch": ["./**/web.php", "./database/"],
|
||||
"ext": "php",
|
||||
"delay": "200"
|
||||
}
|
3
nssheung/School-Management-System/src/nodemon.json
Normal file
3
nssheung/School-Management-System/src/nodemon.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"delay": "500"
|
||||
}
|
8
nssheung/School-Management-System/src/pack.ps1
Normal file
8
nssheung/School-Management-System/src/pack.ps1
Normal file
@@ -0,0 +1,8 @@
|
||||
|
||||
pushd ..
|
||||
|
||||
Compress-Archive laravel-helloworld-tryout-simple delivery-new.zip
|
||||
rm .\delivery.zip
|
||||
mv .\delivery-new.zip .\delivery.zip
|
||||
|
||||
popd
|
8849
nssheung/School-Management-System/src/package-lock.json
generated
Normal file
8849
nssheung/School-Management-System/src/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user