Skip to content

Readme File & UI Development #7

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Dec 1, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
102 changes: 52 additions & 50 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,70 +1,72 @@
# Getting Started with Create React App
# React & TailwindCSS Portfolio - With Dark Mode

This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
A simple portfolio starter theme built with React and TailwindCSS. This is a simple portfolio theme and its geared towards beginners. This is the React version of [vuejs-tailwindcss-portfolio](https://github.com/NangialaiStoman/vuejs-tailwindcss-portfolio).

## Available Scripts
![React-TailwindCSS-Portfolio](https://user-images.githubusercontent.com/16396664/140909796-815239e4-a986-46ad-bbd0-4b166127bbb8.JPG)

In the project directory, you can run:
## Demo URL

### `yarn start`
[https://react-tailwindcss-portfolio.netlify.com](https://react-tailwindcss-portfolio.netlify.com)

Runs the app in the development mode.\
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
## Features

The page will reload if you make edits.\
You will also see any lint errors in the console.
- Simple and responsive design
- [React](https://reactjs.org) with [React Router v6](https://reactrouter.com)
- [Tailwind CSS v2](https://tailwindcss.com)
- Theme Switcher with Dark Mode
- Context API
- Transitions & Animations
- Counter
- Projects filter by category
- Projects filter by search
- Projects carousel
- Smooth scroll
- Dynamic forms
- Back to top button
- Download file button

### `yarn test`
## Installation

Launches the test runner in the interactive watch mode.\
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.
1. ##### Make sure you have Node JS installed. If you don't have it:

### `yarn build`
- [Download it from nodejs.org](https://nodejs.org)
- [Install it using NVM ](https://github.com/nvm-sh/nvm)
- If you're on Mac, Homebrew is a good option too:

Builds the app for production to the `build` folder.\
It correctly bundles React in production mode and optimizes the build for the best performance.
```
brew install node
```

The build is minified and the filenames include the hashes.\
Your app is ready to be deployed!
2. ##### Clone the repo:

See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.
```
git clone https://github.com/NangialaiStoman/react-tailwindcss-portfolio.git
```

### `yarn eject`
3. ##### Open the project folder:

**Note: this is a one-way operation. Once you `eject`, you can’t go back!**
```
cd react-tailwindcss-portfolio
```

If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
4. ##### Install packages and dependencies:

Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.
```
yarn install
```

You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.
5. ##### Start a local dev server at `http://localhost:3000`:

## Learn More
```
yarn start
```

You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).
## Notes

To learn React, check out the [React documentation](https://reactjs.org/).

### Code Splitting

This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting)

### Analyzing the Bundle Size

This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size)

### Making a Progressive Web App

This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app)

### Advanced Configuration

This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration)

### Deployment

This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment)

### `yarn build` fails to minify

This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify)
- Always run `yarn install` after pulling new changes
- I'll be constantly updating this repo as I'll be adding more sections to it, so please always check the projects section of this repo to see what tasks are under todo and in progress
- Coming Soon [I'll be doing a screencast](https://www.youtube.com/c/StomanStudio). Soon I'll be uploading a video to my YouTube channel where I'll be going through the process of creating this portoflio
- Illustrations from [unDraw](https://undraw.co) and [Freepik](https://freepik.com)
- Images from [Unsplash](https://unsplash.com)
- Feel free to use it as your own portfolio
- Contributions are welcome
2 changes: 1 addition & 1 deletion public/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
work correctly both with client-side routing and a non-root public URL.
Learn how to configure a non-root public URL by running `npm run build`.
-->
<title>React App</title>
<title>Stoman</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
Expand Down
2 changes: 1 addition & 1 deletion src/components/AboutClientSingle.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ const AboutClientSingle = ({ title, image }) => {
<>
<img
src={image}
className="w-64 py-5 px-10 border bg-secondary-light border-ternary-light dark:border-ternary-dark shadow-sm rounded-xl mb-8 cursor-pointer"
className="w-64 py-5 px-10 border bg-secondary-light border-ternary-light dark:border-ternary-dark shadow-sm rounded-lg mb-8 cursor-pointer"
alt={title}
/>
</>
Expand Down
2 changes: 1 addition & 1 deletion src/components/AboutMeBio.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ const AboutMeBio = () => {
<div className="block sm:flex sm:gap-10 mt-10 sm:mt-20">
{/* About me portfolio image start */}
<div className="w-full sm:w-1/4 mb-7 sm:mb-0">
<img src={profileImage} className="rounded-xl w-96" alt="" />
<img src={profileImage} className="rounded-lg w-96" alt="" />
</div>
{/* About me portfolio image end */}

Expand Down
6 changes: 3 additions & 3 deletions src/components/AppBanner.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,17 @@ const AppBanner = () => {
return (
<section className="flex flex-col sm:justify-between items-center sm:flex-row mt-12 sm:mt-2">
<div className="w-full sm:w-1/3 text-left">
<h1 className="text-3xl sm:text-5xl text-center sm:text-left font-semibold text-ternary-dark dark:text-primary-light uppercase">
<h1 className="text-2xl sm:text-3xl lg:text-4xl xl:text-5xl text-center sm:text-left font-semibold text-ternary-dark dark:text-primary-light uppercase">
Hi, Iam Stoman
</h1>
<p className="mt-4 text-2xml sm:text-4xl text-center sm:text-left font-semibold leading-none text-gray-400">
<p className="mt-4 text-xl sm:text-2xl lg:text-3xl xl:text-4xl text-center sm:text-left font-semibold leading-none text-gray-400">
A Full-Stack Developer & Design Enthusiast
</p>
<div className="flex justify-center sm:block">
<a
download="Stoman-Resume.pdf"
href="/files/Stoman-Resume.pdf"
className="flex justify-center items-center w-36 sm:w-48 mt-12 mb-6 sm:mb-0 text-lg border border-indigo-200 dark:border-ternary-dark py-2.5 sm:py-3 shadow-lg rounded-xl bg-indigo-50 focus:ring-1 focus:ring-indigo-900 hover:bg-indigo-500 text-gray-500 hover:text-white"
className="flex justify-center items-center w-36 sm:w-48 mt-12 mb-6 sm:mb-0 text-lg border border-indigo-200 dark:border-ternary-dark py-2.5 sm:py-3 shadow-lg rounded-lg bg-indigo-50 focus:ring-1 focus:ring-indigo-900 hover:bg-indigo-500 text-gray-500 hover:text-white"
aria-label="Download Resume"
>
<FiArrowDownCircle className="ml-0 sm:ml-1 mr-2 sm:mr-3 h-5 w-5 sn:w-6 sm:h-6"></FiArrowDownCircle>
Expand Down
10 changes: 7 additions & 3 deletions src/components/AppFooter.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ const socialLinks = [
const AppFooter = () => {
return (
<div className="container mx-auto">
<div className="innercontent pt-20 sm:pt-30 pb-8 mt-20 border-t-2 border-primary-light dark:border-secondary-dark">
<div className="pt-20 sm:pt-30 pb-8 mt-20 border-t-2 border-primary-light dark:border-secondary-dark">
{/* Footer social links start */}
<div className="flex flex-col justify-center items-center mb-12 sm:mb-28">
<p className="text-3xl sm:text-4xl font-semibold text-primary-dark dark:text-primary-light mb-5">
Expand All @@ -64,8 +64,12 @@ const AppFooter = () => {
{/* Footer copyright start */}
<div className="flex justify-center items-center text-center">
<div className="text-lg text-ternary-dark dark:text-ternary-light">
<Link to="https://github.com/NangialaiStoman/react-tailwindcss-portfolio">
&copy; 2021. React & TailwindCSS Portfolio
&copy; 2021
<Link
to="https://github.com/NangialaiStoman/react-tailwindcss-portfolio"
className="hover:underline ml-1"
>
React & TailwindCSS Portfolio
</Link>
.
<Link
Expand Down
2 changes: 1 addition & 1 deletion src/components/AppHeader.js
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ const AppHeader = () => {
<div>
<button
onClick={showHireMeModal}
className="text-md font-medium bg-indigo-500 hover:bg-indigo-600 text-white shadow-sm rounded-lg px-5 py-2.5"
className="text-md font-medium bg-indigo-500 hover:bg-indigo-600 text-white shadow-sm rounded-md px-5 py-2.5"
aria-label="Hire Me Button"
>
Hire Me
Expand Down
4 changes: 2 additions & 2 deletions src/components/ContactForm.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ const ContactForm = () => {
onSubmit={(e) => {
e.preventDefault();
}}
className="max-w-xl m-4 p-6 sm:p-10 bg-secondary-light dark:bg-secondary-dark rounded-xl shadow-xl text-left"
className="max-w-xl m-4 p-6 sm:p-10 bg-secondary-light dark:bg-secondary-dark rounded-lg shadow-xl text-left"
>
<p className="text-primary-dark dark:text-primary-light text-2xl font-semibold mb-8">
Contact Form
Expand Down Expand Up @@ -82,7 +82,7 @@ const ContactForm = () => {

<div className="mt-6">
<button
className="px-4 py-2.5 text-white font-medium tracking-wider bg-indigo-500 hover:bg-indigo-600 focus:ring-1 focus:ring-indigo-900 rounded-lg"
className="px-4 py-2.5 text-white font-medium tracking-wider bg-indigo-500 hover:bg-indigo-600 focus:ring-1 focus:ring-indigo-900 rounded-md"
type="submit"
aria-label="Send Message"
>
Expand Down
12 changes: 5 additions & 7 deletions src/components/HireMeModal.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ const HireMeModal = ({ onClose, onRequest }) => {
{/* Modal Content */}
<main className="flex flex-col items-center justify-center h-full w-full">
<div className="modal-wrapper flex items-center z-30">
<div className="modal max-w-md mx-5 xl:max-w-xl lg:max-w-xl md:max-w-xl bg-secondary-light dark:bg-primary-dark max-h-screen shadow-lg flex-row rounded-xl relative">
<div className="modal max-w-md mx-5 xl:max-w-xl lg:max-w-xl md:max-w-xl bg-secondary-light dark:bg-primary-dark max-h-screen shadow-lg flex-row rounded-lg relative">
<div className="modal-header flex justify-between gap-10 p-5 border-b border-ternary-light dark:border-ternary-dark">
<h5 className=" text-primary-dark dark:text-primary-light text-2xl">
What project are you looking for?
Expand All @@ -30,7 +30,7 @@ const HireMeModal = ({ onClose, onRequest }) => {
>
<div className="">
<input
className="w-full px-5 py-2 border dark:border-secondary-dark rounded-lg text-md dark:font-medium bg-secondary-light dark:bg-ternary-dark text-primary-dark dark:text-ternary-light"
className="w-full px-5 py-2 border dark:border-secondary-dark rounded-md text-md dark:font-medium bg-secondary-light dark:bg-ternary-dark text-primary-dark dark:text-ternary-light"
id="name"
name="name"
type="text"
Expand All @@ -41,7 +41,7 @@ const HireMeModal = ({ onClose, onRequest }) => {
</div>
<div className="mt-6">
<input
className="w-full px-5 py-2 border dark:border-secondary-dark rounded-lg text-md dark:font-medium bg-secondary-light dark:bg-ternary-dark text-primary-dark dark:text-ternary-light"
className="w-full px-5 py-2 border dark:border-secondary-dark rounded-md text-md dark:font-medium bg-secondary-light dark:bg-ternary-dark text-primary-dark dark:text-ternary-light"
id="email"
name="email"
type="text"
Expand All @@ -52,7 +52,7 @@ const HireMeModal = ({ onClose, onRequest }) => {
</div>
<div className="mt-6">
<select
className="w-full px-5 py-2 border dark:border-secondary-dark rounded-lg text-md dark:font-medium bg-secondary-light dark:bg-ternary-dark text-primary-dark dark:text-ternary-light"
className="w-full px-5 py-2 border dark:border-secondary-dark rounded-md text-md dark:font-medium bg-secondary-light dark:bg-ternary-dark text-primary-dark dark:text-ternary-light"
id="subject"
name="subject"
type="text"
Expand All @@ -65,7 +65,7 @@ const HireMeModal = ({ onClose, onRequest }) => {

<div className="mt-6">
<textarea
className="w-full px-5 py-2 border dark:border-secondary-dark rounded-lg text-md dark:font-medium bg-secondary-light dark:bg-ternary-dark text-primary-dark dark:text-ternary-light"
className="w-full px-5 py-2 border dark:border-secondary-dark rounded-md text-md dark:font-medium bg-secondary-light dark:bg-ternary-dark text-primary-dark dark:text-ternary-light"
id="message"
name="message"
cols="14"
Expand All @@ -89,7 +89,6 @@ const HireMeModal = ({ onClose, onRequest }) => {
bg-indigo-500
hover:bg-indigo-600
rounded-md
sm:rounded-lg
focus:ring-1 focus:ring-indigo-900"
aria-label="Submit Request"
>
Expand All @@ -108,7 +107,6 @@ const HireMeModal = ({ onClose, onRequest }) => {
bg-indigo-400
hover:bg-indigo-500
rounded-md
sm:rounded-lg
font-normal
sm:font-bold
text-primary-light
Expand Down
2 changes: 1 addition & 1 deletion src/components/ProjectGallery.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ const ProjectGallery = () => {
<div className="mb-10 sm:mb-0" key={project.id}>
<img
src={project.img}
className="rounded-2xl cursor-pointer shadow-lg sm:shadow-none"
className="rounded-xl cursor-pointer shadow-lg sm:shadow-none"
alt={project.title}
key={project.id}
/>
Expand Down
11 changes: 3 additions & 8 deletions src/components/ProjectHeader.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { FiClock, FiTag } from 'react-icons/fi';
import { ProjectHeader } from '../utils/SingleProjectData';

const ProjectSingleHeader = () => {
Expand All @@ -8,19 +9,13 @@ const ProjectSingleHeader = () => {
</p>
<div className="flex">
<div className="flex items-center mr-10">
<i
data-feather="clock"
className="w-4 h-4 text-ternary-dark dark:text-ternary-light"
></i>
<FiClock className="text-xl text-ternary-dark dark:text-ternary-light" />
<span className="ml-2 leading-none text-primary-dark dark:text-primary-light">
{ProjectHeader.publishDate}
</span>
</div>
<div className="flex items-center">
<i
data-feather="tag"
className="w-4 h-4 text-ternary-dark dark:text-ternary-light"
></i>
<FiTag className="w-4 h-4 text-ternary-dark dark:text-ternary-light" />
<span className="ml-2 leading-none text-primary-dark dark:text-primary-light">
{ProjectHeader.tags}
</span>
Expand Down
11 changes: 7 additions & 4 deletions src/components/ProjectInfo.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { Link } from 'react-router-dom';
import { ProjectInfo as ProjectsData } from '../utils/SingleProjectData';

const ProjectInfo = () => {
Expand Down Expand Up @@ -66,15 +67,17 @@ const ProjectInfo = () => {
<div className="flex items-center gap-3 mt-5">
{ProjectsData.SocialSharing.map((social) => {
return (
<a
<Link
key={social.id}
href={social.url}
to={social.url}
target="__blank"
aria-label="Share Project"
className="bg-ternary-light dark:bg-ternary-dark text-gray-400 hover:text-primary-dark dark:hover:text-primary-light p-2 rounded-lg shadow-sm"
>
{social.icon}
</a>
<span className="text-lg lg:text-2xl">
{social.icon}
</span>
</Link>
);
})}
</div>
Expand Down
2 changes: 1 addition & 1 deletion src/components/ProjectRelatedProjects.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ const ProjectRelatedProjects = () => {
return (
<img
src={project.img}
className="rounded-2xl cursor-pointer"
className="rounded-xl cursor-pointer"
alt={project.title}
key={project.id}
/>
Expand Down
4 changes: 2 additions & 2 deletions src/components/ProjectSingle.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ const ProjectSingle = ({ title, category, image }) => {
return (
<Link
to="/projects/single-project"
className="rounded-3xl shadow-lg hover:shadow-xl cursor-pointer mb-10 sm:mb-0 bg-secondary-light dark:bg-ternary-dark"
className="rounded-xl shadow-lg hover:shadow-xl cursor-pointer mb-10 sm:mb-0 bg-secondary-light dark:bg-ternary-dark"
aria-label="Single Project"
>
<div>
<img
src={image}
className="rounded-t-3xl border-none"
className="rounded-t-xl border-none"
alt="Single Project"
/>
</div>
Expand Down
7 changes: 4 additions & 3 deletions src/components/ProjectsGrid.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,10 @@ const ProjectsGrid = () => {
<p className="text-2xl sm:text-5xl font-semibold mb-3 text-ternary-dark dark:text-ternary-light">
Projects portfolio
</p>
<p className="text-md sm:text-xl text-gray-500 dark:text-ternary-light">
{/* Note: This description is commented, but if you want to have it, just uncomment it */}
{/* <p className="text-md sm:text-xl text-gray-500 dark:text-ternary-light">
Some of my projects are listed below
</p>
</p> */}
</div>
{/* Projects grid title end */}

Expand Down Expand Up @@ -90,7 +91,7 @@ const ProjectsGrid = () => {
{/* Filter and search projects end */}

{/* Projects grid start */}
<div className="grid grid-cols-1 sm:grid-cols-3 mt-6 sm:gap-10">
<div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 mt-6 sm:gap-10">
{/* <ProjectSingle
v-for="project in filteredProjects"
:key="project.id"
Expand Down
Loading