From adb2ae0afcb378f41134c211329fae09f2353634 Mon Sep 17 00:00:00 2001 From: Mohamed Mattar Date: Fri, 3 Apr 2026 17:45:29 +0200 Subject: [PATCH 1/2] Create Portfolio Website documentation Added detailed project description, user stories, bonus features, useful links, and example projects for the Portfolio Website. --- Projects/3-Advanced/Portfolio-Website.md | 41 ++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 Projects/3-Advanced/Portfolio-Website.md diff --git a/Projects/3-Advanced/Portfolio-Website.md b/Projects/3-Advanced/Portfolio-Website.md new file mode 100644 index 00000000..547808cd --- /dev/null +++ b/Projects/3-Advanced/Portfolio-Website.md @@ -0,0 +1,41 @@ +# Portfolio Website + +**Tier:** 3-Advanced + +## Description + +Build a full-stack personal portfolio website with a hidden admin panel +for dynamic content management. All sections — projects, skills, +experience, education, and certifications — are database-driven and +manageable without touching code. + +## User Stories + +- [ ] User can view hero section with name, role, and download CV button +- [ ] User can browse projects, skills, experience, and education sections +- [ ] User can toggle between dark and light theme, persisted across visits +- [ ] User can submit a contact form saved to the database +- [ ] Admin can access a hidden panel via a secret URL +- [ ] Admin can log in with a password verified server-side +- [ ] Admin can create, edit, and delete projects, skills, education, experience, and certifications +- [ ] Admin can upload project images stored in the database +- [ ] Admin can update the CV download link without touching code + +## Bonus features + +- [ ] Rate-limit login attempts to prevent brute force +- [ ] Store password as a SHA-256 hash — never plain text +- [ ] Animate sections on scroll with IntersectionObserver +- [ ] Show live project count in the hero stats + +## Useful links and resources + +- [ASP.NET Core MVC](https://learn.microsoft.com/en-us/aspnet/core/mvc/overview) +- [Entity Framework Core](https://learn.microsoft.com/en-us/ef/core/) +- [SHA-256 in C#](https://learn.microsoft.com/en-us/dotnet/api/system.security.cryptography.sha256) +- [ASP.NET Core Rate Limiting](https://learn.microsoft.com/en-us/aspnet/core/performance/rate-limit) +- [IntersectionObserver API](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API) + +## Example projects + +- [themomattar.runasp.net](https://themomattar.runasp.net) From ec07f1587dce28de889248e9ec5525a20543c26a Mon Sep 17 00:00:00 2001 From: Mohamed Mattar Date: Fri, 3 Apr 2026 17:51:03 +0200 Subject: [PATCH 2/2] Add Portfolio Website project to README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c54bfa41..6ca662ce 100644 --- a/README.md +++ b/README.md @@ -140,6 +140,7 @@ required to complete them. | [Slack Archiver](./Projects/3-Advanced/Slack-Archiver.md) | Archive Slack Messages | 3-Advanced | | [Spell-It App](./Projects/3-Advanced/SpellIt-App.md) | A twist on the classic Speak N Spell game | 3-Advanced | | [Survey App](./Projects/3-Advanced/Survey-App.md) | Define, conduct, and view a survey | 3-Advanced | +| [Portfolio Website](./Projects/3-Advanced/Portfolio-Website.md) | full-stack, database-driven personal portfolio, hidden admin panel | 3-Advanced | ## Plans for the future