update,
This commit is contained in:
12
nssheung/.editorconfig
Normal file
12
nssheung/.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 = crlf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
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
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user