From 63b23ab2b5692eada9a819103d6ef52e76488a23 Mon Sep 17 00:00:00 2001 From: Brian Cephas Date: Fri, 4 Oct 2024 04:45:11 +0300 Subject: [PATCH 1/3] Adding Projects soon --- public/icons/favicon_star.svg | 7 +++ src/components/Head.astro | 18 ++----- src/pages/index.astro | 12 +++-- src/pages/projects.astro | 4 +- src/scripts/pages.js | 3 +- src/scripts/project.ts | 90 +++++++++++++++++++++++++++++++++++ src/scripts/projects_list.ts | 18 +++++++ 7 files changed, 132 insertions(+), 20 deletions(-) create mode 100644 public/icons/favicon_star.svg create mode 100644 src/scripts/project.ts create mode 100644 src/scripts/projects_list.ts diff --git a/public/icons/favicon_star.svg b/public/icons/favicon_star.svg new file mode 100644 index 0000000..9a746f0 --- /dev/null +++ b/public/icons/favicon_star.svg @@ -0,0 +1,7 @@ + + + \ No newline at end of file diff --git a/src/components/Head.astro b/src/components/Head.astro index 68e110e..2a2aa43 100644 --- a/src/components/Head.astro +++ b/src/components/Head.astro @@ -60,31 +60,23 @@ const { pageTitle, pageCoverImage, pageDescription } = Astro.props; - + - + + + {pageTitle} - + - - - diff --git a/src/pages/index.astro b/src/pages/index.astro index 761dcda..dca9167 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -8,7 +8,7 @@ import Portfolio from "../layouts/Portfolio.astro";
-

- Commonly known by codenames such as “Cephas” or + Codename (Preferred Name): “Cephas” or “Xephas” or “X3PH★S” (My Brand Name) + > or “X3PH★S” +

+

+ Pronunciation: “Say-fuhs” or “See-fuhs”

diff --git a/src/pages/projects.astro b/src/pages/projects.astro index 4d7a7dd..2a1babb 100644 --- a/src/pages/projects.astro +++ b/src/pages/projects.astro @@ -7,8 +7,8 @@ import Portfolio from "../layouts/Portfolio.astro";

Coming Soon

diff --git a/src/scripts/pages.js b/src/scripts/pages.js index 1f9e3b3..d287c4c 100644 --- a/src/scripts/pages.js +++ b/src/scripts/pages.js @@ -13,11 +13,11 @@ class Page { // PWAs in astro export const pages = [ new Page("/", "Bio", ["/visit", ""]), + new Page("/projects", "Projects"), new Page("/community", "Community"), new Page("/cv", "CV (Resume)"), new Page("/hire-me", "Hire Me"), new Page("/contact", "Contact"), - // new Page("/projects", "Projects"), new Page("/terms", "Terms ➛"), ]; @@ -26,4 +26,5 @@ export const termsPages = [ new Page("/terms", "Terms"), new Page("/terms/design", "Design Terms"), new Page("/terms/software", "Software Terms"), + new Page("/projects", "Projects"), ]; diff --git a/src/scripts/project.ts b/src/scripts/project.ts new file mode 100644 index 0000000..e21b03a --- /dev/null +++ b/src/scripts/project.ts @@ -0,0 +1,90 @@ + +// a project has a title and a description +// cover image is a must +// tech stack is a must +// optional web, play, github, design, video link +// platform, can be app or website or both +//type project can be personal, group, internship, freelance, open source, for a client (contract) among others + +export class Project { + title: string; + description: string; + cover_image: string; + tech_stack: string[]; + platform: string[]; + project_type: string[]; + + + // app links + web_link?: string; + play_link?: string; + github_url?: string; + design_link?: string; + video_url?: string; + + constructor({ + title, + description, + cover_image, + tech_stack = [], + platform = [], + project_type = [], + web_link, + play_link, + github_url, + design_link, + video_url + }: { + title: string; + description: string; + cover_image: string; + tech_stack: string[]; + platform: string[]; + project_type: string[]; + + web_link?: string; + play_link?: string; + github_url?: string; + design_link?: string; + video_url?: string; + }) { + this.title = title; + this.description = description; + this.cover_image = cover_image; + this.tech_stack = tech_stack; + this.platform = platform; + this.project_type = project_type; + + this.web_link = web_link; + this.play_link = play_link; + this.github_url = github_url; + this.design_link = design_link; + this.video_url = video_url; + } + + + //* boolean checks for the presence of links + containsWeb(): boolean { + return this.web_link !== undefined && this.web_link != null; + } + + containsPlay(): boolean { + return this.play_link !== undefined && this.play_link != null; + } + + containsGithub(): boolean { + return this.github_url !== undefined && this.github_url != null; + } + + containsDesign(): boolean { + return this.design_link !== undefined && this.design_link != null; + } + + containsVideo(): boolean { + return this.video_url !== undefined && this.video_url != null; + } + +} + +//? Example usage +// let proj = new Project("title", "description", "cover_image", "web_link", "play_link", "github_url", "design_link", "video_url"); \ No newline at end of file diff --git a/src/scripts/projects_list.ts b/src/scripts/projects_list.ts new file mode 100644 index 0000000..8762a7a --- /dev/null +++ b/src/scripts/projects_list.ts @@ -0,0 +1,18 @@ +import { Project } from "./project"; + +// a list of projects + +// calcut +// cupertino +// kalya courts web app +// kalya courts digital menu + +let calcut = new Project({ + title: "Calcut | The Cut-Off Points Companion", + description: "A simple calculator app", + cover_image: "https://via.placeholder.com/150", + tech_stack: ["React", "TypeScript"], + platform: ["App"], + project_type: ["Personal",], + web_link: "https://calcut.app", +}); \ No newline at end of file From 2a668ea7cf78dcf8086725d26bb16a257326b339 Mon Sep 17 00:00:00 2001 From: Brian Cephas Date: Sat, 26 Oct 2024 00:45:43 +0300 Subject: [PATCH 2/3] Added Works on my portfolio --- ....LmZpcmViYXNlXHhlcGhhc21lXGhvc3Rpbmc.cache | 39 +-- .firebase/xephasme/hosting/contact/index.html | 11 +- .firebase/xephasme/hosting/index.html | 25 +- .../xephasme/hosting/projects/index.html | 38 --- public/images/cakeme.webp | Bin 0 -> 119262 bytes public/images/flutter_comm.webp | Bin 0 -> 142190 bytes public/images/gdg-muk.webp | Bin 0 -> 452176 bytes public/images/kalya_menu.png | Bin 0 -> 1011869 bytes public/images/kalya_screens.png | Bin 0 -> 433008 bytes public/images/kinder.png | Bin 0 -> 66201 bytes public/images/nois.png | Bin 0 -> 60090 bytes public/images/thumbs.webp | Bin 0 -> 64396 bytes src/components/ArticleTags.astro | 2 +- src/components/InlineLink.astro | 6 +- src/components/ProjectCard.astro | 97 +++++++ src/components/ProjectFooter.astro | 138 ++++++++++ src/components/ProjectTags.astro | 20 ++ src/pages/index.astro | 65 +++-- src/pages/projects.astro | 18 -- src/pages/works.astro | 170 +++++++++++++ src/scripts/contributions.ts | 13 + src/scripts/pages.js | 4 +- src/scripts/project.ts | 52 ++-- src/scripts/projects_list.ts | 236 +++++++++++++++++- 24 files changed, 775 insertions(+), 159 deletions(-) delete mode 100644 .firebase/xephasme/hosting/projects/index.html create mode 100644 public/images/cakeme.webp create mode 100644 public/images/flutter_comm.webp create mode 100644 public/images/gdg-muk.webp create mode 100644 public/images/kalya_menu.png create mode 100644 public/images/kalya_screens.png create mode 100644 public/images/kinder.png create mode 100644 public/images/nois.png create mode 100644 public/images/thumbs.webp create mode 100644 src/components/ProjectCard.astro create mode 100644 src/components/ProjectFooter.astro create mode 100644 src/components/ProjectTags.astro delete mode 100644 src/pages/projects.astro create mode 100644 src/pages/works.astro diff --git a/.firebase/hosting.LmZpcmViYXNlXHhlcGhhc21lXGhvc3Rpbmc.cache b/.firebase/hosting.LmZpcmViYXNlXHhlcGhhc21lXGhvc3Rpbmc.cache index 5063831..17eff3d 100644 --- a/.firebase/hosting.LmZpcmViYXNlXHhlcGhhc21lXGhvc3Rpbmc.cache +++ b/.firebase/hosting.LmZpcmViYXNlXHhlcGhhc21lXGhvc3Rpbmc.cache @@ -3,35 +3,44 @@ terms/draaaft.md,1708112996537,7c4437fb770dad68b4b50e18fdbc0a5f8976ba5643eb0ea5b others/job_application_prompt.txt,1708752453449,d981bfade7063bf17d57fed8b16a58169bcc711c79387074bcf919c7e2107caf images/xspace.webp,1715615467092,99e3cc312c1b40cb1af7ca62dc623bc5b15b5d5dd5b45bf2b251276bbf3a6af4 images/Xephas sign.svg,1708649404971,a0c9c68405f4bead924ad04e3de80cf2d4c708c7285e8b6a1b83c5a93492f587 +images/thumbs.webp,1729887575257,ac53194e32e7640b361bc53c8c805502dc6711009d11565935c133d284d07cce images/stackoverflow.png,1716747124640,a968cdea69b31548175feded6cb963367bd7899bfd4abb31315ed5af1e38684f images/SiteCover.png,1707998635240,063721a8829130e159f1b8dabb8712e4e281e7f79da7fd6a87b5276892a4ace4 images/profile.jpg,1707997496106,edd706f5c3607326d4b69281c573a624587c9949059463bb77cef8af261fbfcd +images/nois.png,1729890190127,502e4e0a1efd516fe05e0453ac9aa2a211cb15158b87380d9c2d6720e6075860 +images/kinder.png,1729890221264,f4491bb879effb4007c743a918b5777bf5d19f12cf019317ee791b061e3e1d71 +images/kalya_screens.png,1728699463136,37d040502bc11e33d03521fe0559ed4322f00f249547350217da45e999393a8a +images/kalya_menu.png,1729890110564,11ab352b267c38e005debfd33aee253d46556eb8396440fae7c72040f4187fb8 images/hod_xephas.png,1688085993491,73ba7ecd2b7284a5cd3806d1d45ccf525488660dead9845f37bc0d990f045c1b +images/gdg-muk.webp,1729881711439,fa4b87f823e45f7a0f3b2bc797b3885c11d2307b328fe2a01e1f44dce6620812 images/fl_meet_kla.webp,1714201322607,f6562741ad5921d061437411cbd7fd1254f892d58c91385d8c434cfa7e3a4fd9 images/fl_mbarara.jpg,1714201585705,0636f32e6140a7993c2d0c4edba6831f0ff2625ee3877dbbe54b93cbe42efbf0 images/flutter_series_23_thanks.webp,1716740289162,386d54c28d08e118fa292d7f8a4d55f11452f3c85c13c4602f231fae9cae2eeb images/flutter_series_23.webp,1716738744600,55bedca4eeab3cc4617d8adc9a9fc25d88833e1d8a8a7be82d441c266ec8f5f7 images/flutter_era.png,1716745603721,362b0bc28231a9c92e9bb6d66a539a44148da96165c959df225d725073ad1338 +images/flutter_comm.webp,1729889280612,309f5f6678200549846c1cf7dab0dc55be57d1f43f4d848fde4c3c2f43e2b498 images/ff_kla.jpg,1714181061230,bb7451d521ae353e979fac0acd15b802534b80262b27123f982aa1da6fcdbc54 images/droid_con.jpg,1715613056381,c800f9833d4dc8728b99d07885d0d125d07fff2284dcb5b0e640809887e01c53 images/cupertino.webp,1718724638163,07d8fc3f919b283babea98bf3dc8220f69f582e2ca5fa7f96fc2d7a1e638b5ce images/cover.webp,1707998692020,3f723d7ab4cf43ba91da6951448ff1ac2ca2b890dd72a7e7fcde7aea210f985f +images/cakeme.webp,1729891192778,e896b26e3119f444df50fc4ffd87c241e371cbd284adebc60908feb9248404e9 images/Astro_deployment.png,1707995189711,014390c92590f4b7f8124f7539ea489886f5d5802a0e23fc74f949cda834d4a9 icons/xephas_star_logo.svg,1707992627730,1a7095d7a264f639b5f6fc0c4a20eba2bf7f5a6e9c82dce339c125adf28a7668 icons/xephas_draaaft.svg,1708156061921,c53384549b37609d16dae153267732a5d5d250dc4a7ba0d6f5ae504532be7f4d +icons/favicon_star.svg,1728004476401,f234424f952cf13c9b07eb0b9961cad426e4e42d69bd1346a9c5a3ac6873a307 docs/MUGISA BRIAN (CEPHAS) - CV as of 11th June 2024.pdf,1718114762297,3dfd4c087a7ca8f2f171cd212878d57a983c4ce831da618b761797aeef0ad613 -404.html,1727828080979,843f138c9c111196b7fc34b8cb0dabceb54d8e0774fe5fd73d8b3b92cb98c408 -index.html,1727828081934,cacd578ac25462bc0ecc6f93cc23636669f2851295aec04902d98a6432560e45 -_astro/resources.CbeBcEAQ.css,1727828080297,7c8dddf3ef0813ba5c32ec8772fdc81ac4bf45dac415e05219cb511d1b885e1e -terms/index.html,1727828081841,787abd2a82bb72614f101d60ff58cf735a9948c4e6827b82729d598812f24a30 -payments/index.html,1727828081289,6ea4c1fa1c96e1d542775c1c83edb2df04fb890d39c4db01a065ccaae7d00f82 -projects/index.html,1727828081348,e784e3df1dc6fc3a5216695601a25c29b7faff25185db3fdb91a8a3d97912fea -index-copy/index.html,1727828081260,3df270c74746bd4961bd637f03811b5fc2056bc1edfb0fb9ef322a668b0968d4 -cv/index.html,1727828081173,047a79c42051a456f45c6c037d72221d804a5537c84557e3cbd7d80c0e8e1666 -contact/index.html,1727828081136,985638adc059cb1755910806e91b4f1246cff532dbc16fb5654fc8689fa1841a -blog/resources/index.html,1727828081011,1c1a18f37416a8c44d3cacfa9dc3dcb4f09c92fc65165903badb1735dba2f93d -hire-me/index.html,1727828081236,6d9859b2bec5da1210ec596d5a9e3e5f4ac3851f4a5938e7c8952f2dd5fb02f2 -community/index.html,1727828081103,9f5d27d2394c09e560e25a388baf392e317e410e3dfe95cf5dbccb51e2a4cde4 -terms/software/index.html,1727828081670,4d3ff795cfd020a3fde166523f45f84dc6f9ecb48eda1e23ffbc64d89206be4a -terms/design/index.html,1727828081494,121aac8e5c7aa7860c258da4a974f42c4480066819b351fc2093ecafc4330cec -_astro/hoisted.DZL4CV8D.js,1727828080873,c4d610eb57eba10de6a46bf3a075bc760a0172e35781c9994706cc72cd0a48e2 +404.html,1729892601089,91a4c701e93cc26833e8bbe7625d34b07891fddcc40eeab61f1beff2e0c407bd +index.html,1729892604389,2fd899ffe5fe430dcf839ff58d105ad0d64b2a71d784b6b302b19590380328ea +_astro/resources.CLwc62di.css,1729892597831,5b13d9dfe356ce410b5831191da2e1c723e4b6708a5290e54a42f97e928db9fe +terms/index.html,1729892604042,008905bd86c8019476dd6c8714bbfe32f1619b3ab952d27e7a2040907a96272f +works/index.html,1729892604284,1b1138101f84550c118a1468869a3cbf464d8fc70bbbec0f50de551438cfdfed +payments/index.html,1729892603483,6ea4c1fa1c96e1d542775c1c83edb2df04fb890d39c4db01a065ccaae7d00f82 +index-copy/index.html,1729892603233,4611a99f3c926d048f17bcdf35ad84d0fc79f2f44db2641498ddb82c85e17360 +cv/index.html,1729892602696,f2111b6fbb8195f1649d4684a9ff92509adc211b8423822d947f6086662650b2 +contact/index.html,1729892602373,edbe2fd7dd551517b226e0132782f2730be6e2b2e62b7ab7fd1d04813d301e25 +blog/resources/index.html,1729892601480,218c206b29dafe5c6ffb7cf484351503ff438d3d58c8fc1e53d05335bd245cdb +hire-me/index.html,1729892603005,96f3fb76973edd8a47f7891643f6b0184e18b9529d047f48d4cb57adc91e5ffd +terms/software/index.html,1729892603789,60348795c6cefae518783a47924e7e5c9eb17de59309f061e3a9697e12625638 +community/index.html,1729892602132,d0e31bfbbe6a341dbec5453fbb07cc047df09938ee8f4d4027799eb49dea3fd2 +terms/design/index.html,1729892603619,edb974863e87159434f9d34cfe876baa5d64cb4f0796a478d932985164805b3e +_astro/hoisted.DZL4CV8D.js,1729892600604,c4d610eb57eba10de6a46bf3a075bc760a0172e35781c9994706cc72cd0a48e2 diff --git a/.firebase/xephasme/hosting/contact/index.html b/.firebase/xephasme/hosting/contact/index.html index ceb65fb..b696f8c 100644 --- a/.firebase/xephasme/hosting/contact/index.html +++ b/.firebase/xephasme/hosting/contact/index.html @@ -1,13 +1,6 @@ - Contact me! | Mugisa Brian ( X3PH★S ) + Contact me! | Mugisa Brian ( X3PH★S )

Ping Me and Let's Connect!

Crafted, Engineered & Brought to Life for:

Mugisa Brian ( X3PH★S )

© 2024 • All Rights Reserved

★ Dev:
Brian Cephas' Signature Touch in Collaboration with diff --git a/.firebase/xephasme/hosting/index.html b/.firebase/xephasme/hosting/index.html index e8753bc..d23475d 100644 --- a/.firebase/xephasme/hosting/index.html +++ b/.firebase/xephasme/hosting/index.html @@ -1,26 +1,19 @@ - Mugisa Brian (Cephas) | A Designer and Developer of Experiences + Mugisa Brian (Cephas) | A Designer and Developer of Experiences

+

Hello,
It's Cephas here... -

-Commonly known by codenames such as “Cephas” or -“Xephas” or “X3PH★S” (My Brand Name) -

+

Codename (Preferred Name): “Cephas” or “Xephas” or “X3PH★S”

Pronunciation: “Say-fuhs” or “See-fuhs”

I am Mugisa Brian (Cephas), a Software Engineer with over 4 years of ultimate experience in Cross-Platform App Development with Flutter and an astounding passion for Graphics & UI/UX Design.

I design and develop experiences that improve people's lives. -

-Wanna Hire me? Here is My CV (Resume) and Cover Letter

-For Freelance and Contractual Work in regards to Software Development and Graphics or UI/UX Design, Here are My Terms of Service