Skip to content

Commit dd99768

Browse files
committed
Add new cv & add projects description
1 parent 88ffc0d commit dd99768

4 files changed

+61
-50
lines changed

components/ProjectDetails.tsx

+23-15
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@ import React from "react";
22
import Modal from "./common/Modal";
33
import Image from "next/image";
44
import { Swiper, SwiperSlide } from "swiper/react";
5-
import "swiper/css";
6-
import "swiper/css";
7-
import "swiper/css/effect-cards";
85
import { EffectCards } from "swiper";
96
import { IProject } from "./Project";
107
import Button from "./common/Button";
@@ -16,6 +13,9 @@ import { Typography, Skeleton, IconButton, Box } from "@mui/material";
1613
import Tooltip from "./common/Tooltip";
1714
import me from "../json/me.json";
1815
import theme from "../theme";
16+
import "swiper/css";
17+
import "swiper/css";
18+
import "swiper/css/effect-cards";
1919

2020
export type TechName = keyof typeof me.tech;
2121
const visit = (link: string) => window.open(link);
@@ -26,7 +26,7 @@ const ProjectDetails: React.FC<{ project: IProject; onClose(): void }> = ({
2626
}) => {
2727
return (
2828
<Modal open onClose={onClose}>
29-
<div className="mx-6">
29+
<div className="mx-6 relative">
3030
<Swiper
3131
spaceBetween={50}
3232
slidesPerView={1}
@@ -50,6 +50,12 @@ const ProjectDetails: React.FC<{ project: IProject; onClose(): void }> = ({
5050
objectFit="cover"
5151
className="rounded-xl overflow-hidden"
5252
/>
53+
54+
{s.description && (
55+
<p className="absolute bottom-0 left-1/2 z-10 -translate-x-1/2 text-white bg-indigo-500 px-4 py-2">
56+
{s.description}
57+
</p>
58+
)}
5359
</div>
5460
</SwiperSlide>
5561
))}
@@ -94,13 +100,13 @@ const ProjectDetails: React.FC<{ project: IProject; onClose(): void }> = ({
94100
</IconButton>
95101
</div>
96102

97-
<div className="my-4 md:my-8 leading-relaxed">
103+
<ul className="mb-4 mt-3 md:mb-8 md:mt-6 leading-relaxed">
98104
{project.description.map((d, idx) => (
99-
<p key={idx} className="text-sm md:text-base">
105+
<li key={idx} className="text-sm md:text-base list-disc list-inside">
100106
{d}
101-
</p>
107+
</li>
102108
))}
103-
</div>
109+
</ul>
104110

105111
<div className="grid grid-cols-12 gap-4">
106112
{project.techStack.map((tech: string) => {
@@ -132,13 +138,15 @@ const ProjectDetails: React.FC<{ project: IProject; onClose(): void }> = ({
132138
</div>
133139

134140
<div className="flex flex-row my-8">
135-
<Button
136-
onClick={() => visit(project.live)}
137-
iconStart={<PublicIcon />}
138-
className="mr-4 w-36"
139-
>
140-
Live
141-
</Button>
141+
{project.live && (
142+
<Button
143+
onClick={() => visit(project.live)}
144+
iconStart={<PublicIcon />}
145+
className="mr-4 w-36"
146+
>
147+
Live
148+
</Button>
149+
)}
142150
<Button onClick={() => visit(project.repo)} iconStart={<GitHubIcon />}>
143151
GitHub
144152
</Button>

json/me.json

+38-35
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
22
"name": "Ahmed Ibrahim",
33
"photo": "/images/me-opt.png",
4-
"resume": "/Ahmed Ibrahim - Software Engineer.pdf",
4+
"resume": "/Ahmed Ibrahim - Full Stack Developer.pdf",
55
"jobTitle": "Full Stack Developer",
66
"jobTitleParts": ["A Full Stack Developer", "Ahmed Ibrahim"],
7-
"aboutme": "I am a software engineer with a huge interest in Machine Learning and data-driven decision making. My experience ranges from working on Real-Time messaging systems that can handle thousands of messages per day to scale open-source projects to serve more than 1+ million active users.",
7+
"aboutme": "Passionate, high-performing Full Stack Developer with more than 3 years of experience. My experience ranges from working on real-time messaging systems that can handle thousands of daily messages to scale opensource projects with more than 1+ million active users. Currently seeking a role as a Full-Stack Developer at a progressive organization, where applied knowledge and self-education skills meet.",
88
"github": "https://github.com/AhmedIbrahim336",
99
"url": "http://ahmedibrahim.dev/",
1010
"social": [
@@ -28,7 +28,7 @@
2828
{
2929
"label": "Email",
3030
"id": "email",
31-
"value": "[email protected]"
31+
"value": "[email protected]"
3232
},
3333
{
3434
"label": "Phone",
@@ -47,7 +47,8 @@
4747
"jobTitle": "Full Stack Developer",
4848
"roles": [
4949
"Develop public API to enable other developers to build their own dApps on top of Cardano and to serve more than 1 million active users.",
50-
"Tackle performance bottlenecks related to databases and memory size.",
50+
"Tackle performance bottlenecks related to databases and memory leaks.",
51+
"Manage the software development lifecycle (Planning, Design, Development, QA).",
5152
"Improve the front-end experience by implementing an entirely new revamped theme.",
5253
"Wrote end-to-end and unit tests to ensure app integrity.",
5354
"Review PRs and make sure they follow the code standards and best practices.",
@@ -63,11 +64,11 @@
6364
"period": "Aug 2019 – Jul 2020",
6465
"jobTitle": "Full Stack Developer",
6566
"roles": [
66-
"Created a messaging system on top of ReactJS on the front and Django/PostgreSQL on the backend.",
67-
"Created data collection pipelines then analyzed and displayed them in an easy-to-read graph.",
68-
"Integrated 3rd party platforms including Telegram and Instagram into our messaging system.",
69-
"Maintained existing integrations including WhatsApp, Twitter, and live chat.",
67+
"Created a real-time multichannel messaging system to connect agencies with their customers",
68+
"Integrated 3rd party messaging platforms like Telegram and Instagram while maintaining existing integrations for WhatsApp and Twitter.",
69+
"Created data collection pipelines then analyzed and displayed them in easy-to-read graphs.",
7070
"Identified and assessed new technologies before implementation.",
71+
"Migrated the services to use up-to-date technology standers.",
7172
"Technologies: JavaScript/TypeScript, ReactJS, Python, Django and PostgreSQL."
7273
]
7374
},
@@ -161,41 +162,41 @@
161162
"name": "Yoroi Wallet",
162163
"description": [
163164
"A simple, secure and fast Cardano ADA wallet.",
164-
"Yoroi allows users to manage Ada in their browser. It is a lightweight wallet that launches quickly, allowing users to start sending or receiving Ada in minutes.",
165-
"The Yoroi browser extension allows users to control their funds with ease, without syncing to the blockchain. Users can easily import their Ada from Daedalus into their Yoroi wallet. "
165+
"Yoroi allows users to manage ADA in their browser.",
166+
"It is a lightweight wallet that launches quickly, allowing users to start sending or receiving ADA in minutes."
166167
],
167168
"techStack": ["js", "react", "rust", "wasm", "mui", "node", "postgres"],
168169
"repo": "https://github.com/Emurgo/yoroi-frontend",
169170
"live": "https://chrome.google.com/webstore/detail/yoroi/ffnbelfdoeiohenkjibnmadjiehjhajb",
170171
"screenshots": [
171172
{
172173
"path": "/images/yoroi/yoroi_1.png",
173-
"description": null
174+
"description": "Create or Restor your Cardano wallet"
174175
},
175176
{
176177
"path": "/images/yoroi/yoroi_2.png",
177-
"description": null
178+
"description": "View your funds and track you rewards"
178179
},
179180
{
180181
"path": "/images/yoroi/yoroi_3.png",
181-
"description": null
182+
"description": "View your transactions history offline"
182183
},
183184
{
184185
"path": "/images/yoroi/yoroi_4.png",
185-
"description": null
186+
"description": "Interact with other dApps"
186187
},
187188
{
188189
"path": "/images/yoroi/yoroi_5.png",
189-
"description": null
190+
"description": "Manage your wallet addresses"
190191
}
191192
]
192193
},
193194
{
194195
"thumbnail": "/images/wallet/wallet_1.png",
195196
"name": "Wallet Ecommerce",
196197
"description": [
197-
"E-Commerce Platform that gives the client a good shopping experience with features like shopping cart, Wishlist, search, advanced filters, checkout, payment, REST API, Auth.",
198-
"Built using React.js + Redux, Tailwindcss, Node.js, Express.js, Mongoose.js."
198+
"A mobile friendly, production ready and fully featured e-commerce website.",
199+
"Browse and buy projects"
199200
],
200201
"techStack": [
201202
"js",
@@ -209,43 +210,43 @@
209210
"docker"
210211
],
211212
"repo": "https://github.com/AhmedIbrahim336/wallet",
212-
"live": "https://walletecommerce.herokuapp.com/",
213+
"live": null,
213214
"screenshots": [
214215
{
215216
"path": "/images/wallet/wallet_1.png",
216-
"description": null
217+
"description": "View latest & featured products"
217218
},
218219
{
219220
"path": "/images/wallet/wallet_2.png",
220-
"description": null
221+
"description": "View product details"
221222
},
222223
{
223224
"path": "/images/wallet/wallet_3.png",
224-
"description": null
225+
"description": "Manage your wishlist"
225226
},
226227
{
227228
"path": "/images/wallet/wallet_4.png",
228-
"description": null
229+
"description": "View cart"
229230
},
230231
{
231232
"path": "/images/wallet/wallet_5.png",
232-
"description": null
233+
"description": "Fill your shipping address"
233234
},
234235
{
235236
"path": "/images/wallet/wallet_6.png",
236-
"description": null
237+
"description": "View your cart"
237238
},
238239
{
239240
"path": "/images/wallet/wallet_7.png",
240-
"description": null
241+
"description": "Pay using PayPal"
241242
},
242243
{
243244
"path": "/images/wallet/wallet_8.png",
244-
"description": null
245+
"description": "Track your order"
245246
},
246247
{
247248
"path": "/images/wallet/wallet_9.png",
248-
"description": null
249+
"description": "View your orders"
249250
}
250251
]
251252
},
@@ -289,7 +290,9 @@
289290
"thumbnail": "/images/receptor/re_1.png",
290291
"name": "Receptor",
291292
"description": [
292-
"Real-time messaging app. Available as a website and as MacOS, Linux, and Windows application."
293+
"Real-time messaging app.",
294+
"Send and receive messages with friends and groups",
295+
"Available as a website and as MacOS, Linux, and Windows application."
293296
],
294297
"techStack": [
295298
"js",
@@ -306,31 +309,31 @@
306309
"tauri"
307310
],
308311
"repo": "https://github.com/AhmedIbrahim336/receptor",
309-
"live": "#",
312+
"live": null,
310313
"screenshots": [
311314
{
312315
"path": "/images/receptor/re_1.png",
313-
"description": null
316+
"description": "Message your friends in real-time"
314317
},
315318
{
316319
"path": "/images/receptor/re_2.png",
317-
"description": null
320+
"description": "Add, remove, and accept friends"
318321
},
319322
{
320323
"path": "/images/receptor/re_3.png",
321-
"description": null
324+
"description": "Chat in groups with your friends"
322325
},
323326
{
324327
"path": "/images/receptor/re_4.png",
325-
"description": null
328+
"description": "Login to your account"
326329
},
327330
{
328331
"path": "/images/receptor/re_5.png",
329-
"description": null
332+
"description": "Create groups with your best friends"
330333
},
331334
{
332335
"path": "/images/receptor/re_6.png",
333-
"description": null
336+
"description": "See if your friends active or not!"
334337
}
335338
]
336339
}
Binary file not shown.
-266 KB
Binary file not shown.

0 commit comments

Comments
 (0)