|
1 |
| -import { ref } from 'vue' |
| 1 | +import { ref } from "vue"; |
2 | 2 |
|
3 | 3 | interface Link {
|
4 |
| - text: string |
5 |
| - url: string |
| 4 | + text: string; |
| 5 | + url: string; |
6 | 6 | }
|
7 | 7 |
|
8 | 8 | interface Experience {
|
9 |
| - startDate: string |
10 |
| - endDate: string |
11 |
| - title: string |
12 |
| - company?: string |
13 |
| - url: string |
14 |
| - body?: string |
15 |
| - links?: Link[] |
16 |
| - techStack: string[] |
| 9 | + startDate: string; |
| 10 | + endDate: string; |
| 11 | + title: string; |
| 12 | + company?: string; |
| 13 | + url: string; |
| 14 | + body?: string; |
| 15 | + links?: Link[]; |
| 16 | + techStack: string[]; |
17 | 17 | }
|
18 | 18 |
|
19 | 19 | interface Project {
|
20 |
| - title: string |
21 |
| - image: string |
22 |
| - url?: string |
23 |
| - body?: string |
24 |
| - techStack: string[] |
25 |
| - opensource?: boolean |
| 20 | + title: string; |
| 21 | + image: string; |
| 22 | + url?: string; |
| 23 | + body?: string; |
| 24 | + techStack: string[]; |
| 25 | + opensource?: boolean; |
26 | 26 | }
|
27 | 27 |
|
28 |
| - |
29 | 28 | const experiences = ref<Experience[]>([
|
30 | 29 | {
|
31 |
| - startDate: '2022', |
32 |
| - endDate: 'AUG 2023', |
33 |
| - title: 'Developer', |
34 |
| - company: 'Haft Studio', |
35 |
| - body: 'I took charge of our company\'s online presence by building, deploying and maintaining a modern website. I initially created it using HTML, CSS, and JavaScript, and later revamped it with Vue, Vuetify, and Vite. This upgrade greatly improved the site look and feel. I developed internal programs to help manage, keep record and track projects and expenses. In addition to my development responsibilities, I managed a shared hosting and email accounts, google sites and maps.', |
36 |
| - url: 'https://haftstudio.ke', |
37 |
| - techStack: ['Django', 'DRF', 'Vue.js', 'Nuxt', 'Vuetify', 'Typescript', 'SCSS', 'PHP', 'CPANEL', 'MySQL', 'Git'] |
| 30 | + startDate: "MAR 2024", |
| 31 | + endDate: "PRESENT", |
| 32 | + title: "Full-Stack Engineer", |
| 33 | + company: "SunCulture Kenya", |
| 34 | + body: "I consult on the internal software suite, providing guidance and development support. I leverage React, Node.js, Express, Sequelize, and MySQL to develop and maintain a module within the main system. I build APIs to interface with mobile apps and the main system, ensuring seamless integration and functionality, and I review code and fix bugs from time to time.", |
| 35 | + url: "https://sunculture.io", |
| 36 | + techStack: ["React", "Nodejs", "Express", "Sequelize", "MySQL"], |
38 | 37 | },
|
39 | 38 | {
|
40 |
| - startDate: '2018', |
41 |
| - endDate: 'PRESENT', |
42 |
| - title: 'Software Developer', |
43 |
| - body: 'If I am to show you what I\'ve done, then I believe my journey is part of the experience. All the things that I have learnt and the projects that i\'ve got to work on both formally and informally - it\'s all one big picture.', |
44 |
| - url: '/', |
45 |
| - links: [ |
46 |
| - { |
47 |
| - text: 'vue3-compare-image', |
48 |
| - url: 'https://vue3-compare-image.vercel.app' |
49 |
| - }, |
| 39 | + startDate: "OCT 2023", |
| 40 | + endDate: "JUN 2024", |
| 41 | + title: "Full-Stack Developer", |
| 42 | + company: "Clifford Technologies", |
| 43 | + body: "I developed and maintained applications using Laravel and Vue.js, regularly chairing meetings with clients to discuss progress, fixes, and roadmaps. I successfully deployed and managed Ubuntu servers on AWS Lightsail and EC2, establishing and administering MySQL databases. My work included implementing UI updates and server-side optimizations to enhance app performance, as well as integrating the Pesapal payment gateway for secure online transactions. My tech stack comprised Laravel, Vue.js, Vuetify, Tailwind, AWS, MySQL, Redis, and Git.", |
| 44 | + url: "https://clifford.co.ke", |
| 45 | + techStack: [ |
| 46 | + "Laravel", |
| 47 | + "MySQL", |
| 48 | + "Vue.js", |
| 49 | + "AWS", |
| 50 | + "Vuetify", |
| 51 | + "EC2", |
| 52 | + "Tailwind", |
| 53 | + "PHP", |
| 54 | + "CPANEL", |
50 | 55 | ],
|
51 |
| - techStack: ['Python', 'C', 'Django', 'Javascript', 'Typescript', 'HTML', 'CSS', 'SASS', 'Vue.js', 'React', 'php', 'JQuery', 'Laravel', 'Redis', 'Postgresql', 'Git'] |
52 | 56 | },
|
53 |
| -]) |
| 57 | + { |
| 58 | + startDate: "2022", |
| 59 | + endDate: "SEP 2023", |
| 60 | + title: "Developer", |
| 61 | + company: "Haft Studio", |
| 62 | + body: "I built and maintained the company website using cPanel, ensuring a seamless online presence. I developed an internal project management system leveraging Django and Django Rest Framework for the back end, while utilizing Vue.js for a dynamic front-end experience. Additionally, I oversaw the company’s web, email, and IT infrastructure, providing regular technical support and troubleshooting. My contributions also included offering valuable insights into the development plans for various applications, programs, and systems.", |
| 63 | + url: "https://haftstudio.ke", |
| 64 | + techStack: [ |
| 65 | + "Django", |
| 66 | + "DRF", |
| 67 | + "Vue.js", |
| 68 | + "Nuxt", |
| 69 | + "Vuetify", |
| 70 | + "Typescript", |
| 71 | + "SCSS", |
| 72 | + "PHP", |
| 73 | + "CPANEL", |
| 74 | + "MySQL", |
| 75 | + "Git", |
| 76 | + ], |
| 77 | + }, |
| 78 | +]); |
54 | 79 |
|
55 | 80 | const projects = ref<Project[]>([
|
56 | 81 | {
|
57 |
| - title: 'Vue3-Compare-Image', |
58 |
| - image: '/images/portfolio2.jpg', |
59 |
| - url: 'https://vue3-compare-image.vercel.app', |
60 |
| - body: 'A simple Vue 3 component to compare two images with a slider, supports vertical and horizontal modes and keyboard navigation for accessibility. Typescript support for improved developer experience.', |
61 |
| - techStack: ['Vue.js', 'Typescript', 'unbuild', 'pnpm'], |
| 82 | + title: "TaxManager", |
| 83 | + image: "/images/portfolio4.png", |
| 84 | + url: "https://digitax.tech", |
| 85 | + body: "An Electron Desktop and web application that integrages Locally hosted ERP systems e.g Sage and Odoo to digitax for Tax Compliance with the new ETIMS API specifications. The frontend is Vue while the backend is Expressjs. It uses sequelize ORM to simplify DB access. Integrated for DXC Technology, Ngong Veg Ltd, Seweco Paints, Poa Internet and more.", |
| 86 | + techStack: ["Electron", "Express", "Vue.js", "Typescript", "SQL"], |
| 87 | + opensource: false, |
| 88 | + }, |
| 89 | + { |
| 90 | + title: "Vue3-Compare-Image", |
| 91 | + image: "/images/portfolio2.jpg", |
| 92 | + url: "https://vue3-compare-image.vercel.app", |
| 93 | + body: "A simple Vue 3 component to compare two images with a slider, supports vertical and horizontal modes and keyboard navigation for accessibility. Typescript support for improved developer experience.", |
| 94 | + techStack: ["Vue.js", "Typescript", "unbuild", "pnpm"], |
62 | 95 | opensource: true,
|
63 | 96 | },
|
64 | 97 | {
|
65 |
| - title: 'Pro-Manager.com', |
66 |
| - image: '/images/portfolio3.png', |
67 |
| - url: 'https://github.com/zedjarvis/promanager', |
68 |
| - body: 'A Project Management web application. The landing page is greatly inspired by Trello and the actual app by ProjectManager.com. Fronted is built with Vue composition api and Typescript while the backed is build with Django & Django Rest Framework. The app uses JWT authentication and django-channels for websockets, Postgresql and Redis for database requirements.', |
69 |
| - techStack: ['Django', 'Vue.js', 'Vuetify', 'UnoCSS', 'SCSS', 'Typescript', 'Javascript', 'Postgresql', 'DRF', 'Redis', 'Docker'] |
| 98 | + title: "Pro-Manager.com", |
| 99 | + image: "/images/portfolio3.png", |
| 100 | + url: "https://github.com/zedjarvis/promanager", |
| 101 | + body: "A Project Management web application. The landing page is greatly inspired by Trello and the actual app by ProjectManager.com. Fronted is built with Vue composition api and Typescript while the backed is build with Django & Django Rest Framework. The app uses JWT authentication and django-channels for websockets, Postgresql and Redis for database requirements.", |
| 102 | + techStack: [ |
| 103 | + "Django", |
| 104 | + "Vue.js", |
| 105 | + "Vuetify", |
| 106 | + "UnoCSS", |
| 107 | + "SCSS", |
| 108 | + "Typescript", |
| 109 | + "Javascript", |
| 110 | + "Postgresql", |
| 111 | + "DRF", |
| 112 | + "Redis", |
| 113 | + "Docker", |
| 114 | + ], |
70 | 115 | },
|
71 | 116 | {
|
72 |
| - title: 'HaftStudio Website', |
73 |
| - image: '/images/portfolio.jpg', |
74 |
| - url: 'https://haftstudio-website.vercel.app', |
75 |
| - body: 'Simple, Modern, professional website made for a Design, Furniture and Build company. Still under developement.', |
76 |
| - techStack: ['Vue.js', 'Vuetify', 'SCSS', 'Typecript'] |
77 |
| - } |
78 |
| -]) |
79 |
| - |
| 117 | + title: "HaftStudio Website", |
| 118 | + image: "/images/portfolio.jpg", |
| 119 | + url: "https://haftstudio-website.vercel.app", |
| 120 | + body: "Simple, Modern, professional website made for a Design, Furniture and Build company. Still under developement.", |
| 121 | + techStack: ["Vue.js", "Vuetify", "SCSS", "Typecript"], |
| 122 | + }, |
| 123 | +]); |
80 | 124 |
|
81 |
| -export { experiences, projects } |
| 125 | +export { experiences, projects }; |
0 commit comments