Skip to content

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
NidhinLalFoxena committed May 12, 2024
1 parent 86e366a commit 89c782e
Show file tree
Hide file tree
Showing 25 changed files with 16,796 additions and 253 deletions.
4 changes: 2 additions & 2 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/logo.svg" />
<link rel="icon" href="/src/assets/logo.png" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Adrian | JavaScript Mastery Portfolio</title>
<title>NIDHINLAL | Portfolio</title>
</head>
<body>
<div id="root"></div>
Expand Down
7,334 changes: 7,334 additions & 0 deletions logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
22 changes: 16 additions & 6 deletions src/App.jsx
Original file line number Diff line number Diff line change
@@ -1,27 +1,37 @@
import { BrowserRouter } from "react-router-dom";

import { About, Contact, Experience, Feedbacks, Hero, Navbar, Tech, Works, StarsCanvas } from "./components";
import {
About,
Contact,
Experience,
Feedbacks,
Hero,
Navbar,
Tech,
Works,
StarsCanvas,
} from "./components";

const App = () => {
return (
<BrowserRouter>
<div className='relative z-0 bg-primary'>
<div className='bg-hero-pattern bg-cover bg-no-repeat bg-center'>
<div className="relative z-0 bg-primary">
<div className="bg-hero-pattern bg-cover bg-no-repeat bg-center">
<Navbar />
<Hero />
</div>
<About />
<Experience />
<Tech />
<Works />
<Feedbacks />
<div className='relative z-0'>
{/* <Feedbacks /> */}
<div className="relative z-0">
<Contact />
<StarsCanvas />
</div>
</div>
</BrowserRouter>
);
}
};

export default App;
Binary file added src/assets/ceyone.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/company/brotoType.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/company/foxena-corp.webp
Binary file not shown.
Binary file removed src/assets/company/shopify.png
Binary file not shown.
Binary file removed src/assets/company/starbucks.png
Binary file not shown.
30 changes: 19 additions & 11 deletions src/assets/index.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import logo from "./logo.svg";
import logo from "./logo.png";
import backend from "./backend.png";
import creator from "./creator.png";
import mobile from "./mobile.png";
Expand All @@ -20,15 +20,19 @@ import redux from "./tech/redux.png";
import tailwind from "./tech/tailwind.png";
import typescript from "./tech/typescript.png";
import threejs from "./tech/threejs.svg";
import dart from "./tech/dart.png";
import flutter from "./tech/flutter.png";
import nextjs from "./tech/nextjs.png";

import meta from "./company/meta.png";
import shopify from "./company/shopify.png";
import starbucks from "./company/starbucks.png";
import foxena from "./company/foxena-corp.webp";
import brotoType from "./company/brotoType.jpg";
import tesla from "./company/tesla.png";

import carrent from "./carrent.png";
import jobit from "./jobit.png";
import tripguide from "./tripguide.png";
import ultraviolette from "./ultraviolette.png";
import sunonix from "./sunonix.png";
import ceyone from "./ceyone.png";
import xpd8 from "./xpd8.png";

export {
logo,
Expand All @@ -53,10 +57,14 @@ export {
typescript,
threejs,
meta,
shopify,
starbucks,
foxena,
brotoType,
tesla,
carrent,
jobit,
tripguide,
dart,
flutter,
nextjs,
ultraviolette,
sunonix,
ceyone,
xpd8,
};
Binary file added src/assets/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7,400 changes: 7,334 additions & 66 deletions src/assets/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/sunonix.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/tech/dart.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/tech/flutter.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/tech/nextjs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/ultraviolette.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/xpd8.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
27 changes: 14 additions & 13 deletions src/components/About.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,26 +8,26 @@ import { SectionWrapper } from "../hoc";
import { fadeIn, textVariant } from "../utils/motion";

const ServiceCard = ({ index, title, icon }) => (
<Tilt className='xs:w-[250px] w-full'>
<Tilt className="xs:w-[250px] w-full">
<motion.div
variants={fadeIn("right", "spring", index * 0.5, 0.75)}
className='w-full green-pink-gradient p-[1px] rounded-[20px] shadow-card'
className="w-full green-pink-gradient p-[1px] rounded-[20px] shadow-card"
>
<div
options={{
max: 45,
scale: 1,
speed: 450,
}}
className='bg-tertiary rounded-[20px] py-5 px-12 min-h-[280px] flex justify-evenly items-center flex-col'
className="bg-tertiary rounded-[20px] py-5 px-12 min-h-[280px] flex justify-evenly items-center flex-col"
>
<img
src={icon}
alt='web-development'
className='w-16 h-16 object-contain'
alt="web-development"
className="w-16 h-16 object-contain"
/>

<h3 className='text-white text-[20px] font-bold text-center'>
<h3 className="text-white text-[20px] font-bold text-center">
{title}
</h3>
</div>
Expand All @@ -45,16 +45,17 @@ const About = () => {

<motion.p
variants={fadeIn("", "", 0.1, 1)}
className='mt-4 text-secondary text-[17px] max-w-3xl leading-[30px]'
className="mt-4 text-secondary text-[17px] max-w-3xl leading-[30px]"
>
I'm a skilled software developer with experience in TypeScript and
JavaScript, and expertise in frameworks like React, Node.js, and
Three.js. I'm a quick learner and collaborate closely with clients to
create efficient, scalable, and user-friendly solutions that solve
real-world problems. Let's work together to bring your ideas to life!
I'm a proficient software developer specializing in Flutter, Next.js,
React,TypeScript and Dart. With expertise in frameworks like Three.js
and GSAP, I craft dynamic and immersive user experiences. I excel in
collaborating closely with clients to engineer efficient, scalable
solutions that tackle real-world challenges. Let's collaborate to
transform your concepts into reality!
</motion.p>

<div className='mt-20 flex flex-wrap gap-10'>
<div className="mt-20 flex flex-wrap gap-10">
{services.map((service, index) => (
<ServiceCard key={service.title} index={index} {...service} />
))}
Expand Down
50 changes: 25 additions & 25 deletions src/components/Contact.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -33,16 +33,16 @@ const Contact = () => {

emailjs
.send(
import.meta.env.VITE_APP_EMAILJS_SERVICE_ID,
import.meta.env.VITE_APP_EMAILJS_TEMPLATE_ID,
"service_28qby1o",
"template_fffquih",
{
from_name: form.name,
to_name: "JavaScript Mastery",
to_name: "Nidhin",
from_email: form.email,
to_email: "[email protected]",
to_email: "[email protected]",
message: form.message,
},
import.meta.env.VITE_APP_EMAILJS_PUBLIC_KEY
"eS9nVbbJaWIL2ghTj"
)
.then(
() => {
Expand Down Expand Up @@ -70,53 +70,53 @@ const Contact = () => {
>
<motion.div
variants={slideIn("left", "tween", 0.2, 1)}
className='flex-[0.75] bg-black-100 p-8 rounded-2xl'
className="flex-[0.75] bg-black-100 p-8 rounded-2xl"
>
<p className={styles.sectionSubText}>Get in touch</p>
<h3 className={styles.sectionHeadText}>Contact.</h3>

<form
ref={formRef}
onSubmit={handleSubmit}
className='mt-12 flex flex-col gap-8'
className="mt-12 flex flex-col gap-8"
>
<label className='flex flex-col'>
<span className='text-white font-medium mb-4'>Your Name</span>
<label className="flex flex-col">
<span className="text-white font-medium mb-4">Your Name</span>
<input
type='text'
name='name'
type="text"
name="name"
value={form.name}
onChange={handleChange}
placeholder="What's your good name?"
className='bg-tertiary py-4 px-6 placeholder:text-secondary text-white rounded-lg outline-none border-none font-medium'
className="bg-tertiary py-4 px-6 placeholder:text-secondary text-white rounded-lg outline-none border-none font-medium"
/>
</label>
<label className='flex flex-col'>
<span className='text-white font-medium mb-4'>Your email</span>
<label className="flex flex-col">
<span className="text-white font-medium mb-4">Your email</span>
<input
type='email'
name='email'
type="email"
name="email"
value={form.email}
onChange={handleChange}
placeholder="What's your web address?"
className='bg-tertiary py-4 px-6 placeholder:text-secondary text-white rounded-lg outline-none border-none font-medium'
className="bg-tertiary py-4 px-6 placeholder:text-secondary text-white rounded-lg outline-none border-none font-medium"
/>
</label>
<label className='flex flex-col'>
<span className='text-white font-medium mb-4'>Your Message</span>
<label className="flex flex-col">
<span className="text-white font-medium mb-4">Your Message</span>
<textarea
rows={7}
name='message'
name="message"
value={form.message}
onChange={handleChange}
placeholder='What you want to say?'
className='bg-tertiary py-4 px-6 placeholder:text-secondary text-white rounded-lg outline-none border-none font-medium'
placeholder="What you want to say?"
className="bg-tertiary py-4 px-6 placeholder:text-secondary text-white rounded-lg outline-none border-none font-medium"
/>
</label>

<button
type='submit'
className='bg-tertiary py-3 px-8 rounded-xl outline-none w-fit text-white font-bold shadow-md shadow-primary'
type="submit"
className="bg-tertiary py-3 px-8 rounded-xl outline-none w-fit text-white font-bold shadow-md shadow-primary"
>
{loading ? "Sending..." : "Send"}
</button>
Expand All @@ -125,7 +125,7 @@ const Contact = () => {

<motion.div
variants={slideIn("right", "tween", 0.2, 1)}
className='xl:flex-1 xl:h-auto md:h-[550px] h-[350px]'
className="xl:flex-1 xl:h-auto md:h-[550px] h-[350px]"
>
<EarthCanvas />
</motion.div>
Expand Down
14 changes: 7 additions & 7 deletions src/components/Experience.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -23,30 +23,30 @@ const ExperienceCard = ({ experience }) => {
date={experience.date}
iconStyle={{ background: experience.iconBg }}
icon={
<div className='flex justify-center items-center w-full h-full'>
<div className="flex justify-center items-center w-full h-full">
<img
src={experience.icon}
alt={experience.company_name}
className='w-[60%] h-[60%] object-contain'
className="w-[100%] h-[100%] object-contain"
/>
</div>
}
>
<div>
<h3 className='text-white text-[24px] font-bold'>{experience.title}</h3>
<h3 className="text-white text-[24px] font-bold">{experience.title}</h3>
<p
className='text-secondary text-[16px] font-semibold'
className="text-secondary text-[16px] font-semibold"
style={{ margin: 0 }}
>
{experience.company_name}
</p>
</div>

<ul className='mt-5 list-disc ml-5 space-y-2'>
<ul className="mt-5 list-disc ml-5 space-y-2">
{experience.points.map((point, index) => (
<li
key={`experience-point-${index}`}
className='text-white-100 text-[14px] pl-1 tracking-wider'
className="text-white-100 text-[14px] pl-1 tracking-wider"
>
{point}
</li>
Expand All @@ -68,7 +68,7 @@ const Experience = () => {
</h2>
</motion.div>

<div className='mt-20 flex flex-col'>
<div className="mt-20 flex flex-col">
<VerticalTimeline>
{experiences.map((experience, index) => (
<ExperienceCard
Expand Down
22 changes: 11 additions & 11 deletions src/components/Hero.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,27 +9,27 @@ const Hero = () => {
<div
className={`absolute inset-0 top-[120px] max-w-7xl mx-auto ${styles.paddingX} flex flex-row items-start gap-5`}
>
<div className='flex flex-col justify-center items-center mt-5'>
<div className='w-5 h-5 rounded-full bg-[#915EFF]' />
<div className='w-1 sm:h-80 h-40 violet-gradient' />
<div className="flex flex-col justify-center items-center mt-5">
<div className="w-5 h-5 rounded-full bg-[#915EFF]" />
<div className="w-1 sm:h-80 h-40 violet-gradient" />
</div>

<div>
<h1 className={`${styles.heroHeadText} text-white`}>
Hi, I'm <span className='text-[#915EFF]'>Adrian</span>
Hi, I'm <span className="text-[#915eff]">Nidhinlal</span>
</h1>
<p className={`${styles.heroSubText} mt-2 text-white-100`}>
I develop 3D visuals, user <br className='sm:block hidden' />
interfaces and web applications
Crafting immersive 3D experiences,{" "}
<br className="sm:block hidden" />
intuitive UI designs, and cutting-edge web and app solutions.
</p>
</div>
</div>

<ComputersCanvas />

<div className='absolute xs:bottom-10 bottom-32 w-full flex justify-center items-center'>
<a href='#about'>
<div className='w-[35px] h-[64px] rounded-3xl border-4 border-secondary flex justify-center items-start p-2'>
<div className="absolute xs:bottom-10 bottom-32 w-full flex justify-center items-center">
<a href="#about">
<div className="w-[35px] h-[64px] rounded-3xl border-4 border-secondary flex justify-center items-start p-2">
<motion.div
animate={{
y: [0, 24, 0],
Expand All @@ -39,7 +39,7 @@ const Hero = () => {
repeat: Infinity,
repeatType: "loop",
}}
className='w-3 h-3 rounded-full bg-secondary mb-1'
className="w-3 h-3 rounded-full bg-secondary mb-1"
/>
</div>
</a>
Expand Down
Loading

0 comments on commit 89c782e

Please sign in to comment.