A web-based portal for guardians and teachers to track learning progress of students and communicate with one another.
- XML/XSL/DTD/XSD
- PHP (with PHPMailer and phpdotenv)
- HTML + CSS
- JavaScript
- Bootstrap 4.6 (Thanks Bootswatch and Startbootstrap)
- SMTP (mailtrap is pretty cool.)
- Python to generate XML entries.
Note
XSLT rendering and XML transformations may behave differently across browsers. Chrome and Firefox are recommended for consistent results.
- Go to XAMPP's Control Panel.
- Followed by Apache > Config > php.ini
- Ctrl+F to find
;extension=xsl
then uncomment it.
- In your File Explorer, go to "C:\xampp\htdocs"
- Make a folder named _XAMPP\
- Run this in your terminal:
git clone https://github.com/Bleedmagic/xml-based-fhlc.git
cd xml-based-fhlc
- Here, localhost_XAMPP
- Find and click the folder, and you're done.
Feel free to open issues or submit pull requests for improvements or suggestions. Contributions are always welcome!
Expand for more details.
Install Git: https://git-scm.com/download/win
git clone https://github.com/Bleedmagic/xml-based-fhlc.git
cd xml-based-fhlc
git fetch
git checkout feat-facade
Ensure you're on the latest main branch:
git checkout main
git pull origin main
Make a branch, and give it a descriptive name based on your task:
git checkout -b feat-username-task
Publish your branch:
git push -u origin feat-username-task
- Edit the files you need.
- Save your work often.
- Avoid editing files others are working on unless necessary.
git add .
git commit -m "Add: your change description"
Before pushing, update your branch:
git pull origin main
git push --set-upstream origin feat-username-task
(For first time)
git push
or git pull
afterwards
- Go to the repository on GitHub.
- Click the "Pull Requests" tab.
- Click "New Pull Request" and compare your branch with main.
- Add a clear title and description of your changes.
- Submit the pull request.
- Another team member (or the team lead) will review and approve.
- Once approved, it’ll be merged into main.
git checkout feat-username-task
git pull origin main
Here are some answers to some questions.
Your local repo is the copy of the project on your own computer.
A remote is a shared copy that lives online (e.g. https://github.com/Bleedmagic/xml-based-fhlc.git) and allows you and your team to collaborate.
git push origin main
- "Push my local main branch to the origin remote (usually GitHub)."
git pull origin main
- "Fetch and merge the latest changes from the remote main branch into my local one."
git fetch origin
git checkout feat-username-task
git pull origin feat-username-task
After merging on the GitHub website:
git checkout main
git pull origin main # Sync your local main with remote
git checkout feat-dashboard
git pull origin main # This fetches + merges
git push origin feat-dashboard # optional, if you want to push the updated branch
git restore .
git clean -fd
[!WARNING] These commands are destructive, and you will lose any uncommitted or untracked work.
git branch -d branch-name # Delete local branch
git push origin -d branch-name # Delete remote branch
git stash # Save uncommitted changes
git stash pop # Reapply stashed changes
# Additional for Stash Management
git stash list
git stash drop
git restore .
git reset
git branch backup-main main
git fetch origin # Get latest remote changes (no merge)
git status # Check current branch and changes
- Make small, focused commits.
- Use clear, descriptive commit messages.
- Never push directly to main.
- Communicate if you're editing shared files.
- If unsure about Git commands, ask or check the included cheat sheet.
This project is licensed under the MIT License - see the LICENSE file for details.