Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ashutosh1919/masterPortfolio

πŸ”₯ The Complete Customizable Software Developer Portfolio Template which lets you showcase your work and provides each and every detail about you as Software Developer.
https://github.com/ashutosh1919/masterPortfolio

best-portfolio-website best-website css3 developer-folio developer-portfolio developer-portfolio-template hacktoberfest html5 master-portfolio portfolio portfolio-page portfolio-site portfolio-template portfolio-website portfolio-websites portfolios react reactjs reactjs-template template

Last synced: about 2 months ago
JSON representation

πŸ”₯ The Complete Customizable Software Developer Portfolio Template which lets you showcase your work and provides each and every detail about you as Software Developer.

Awesome Lists containing this project

README

        



Software Developer Master Portfolio πŸ”₯


A clean, beautiful, responsive, and 100% customizable portfolio
template for Software Developers!


HitCounts
NodeJS
NPM
Made With React
Join Slack Channel For Support
code style: prettier


Netlify Status
Build Status
License
Maintenance
Website
License
Price


If you want to discuss about something, you can ask on my Discord Server.





:star: Star us on GitHub β€” it helps!

# Sections πŸ“š

βœ”οΈ Summary and About me\
βœ”οΈ Skills \
βœ”οΈ Open Source Projects Connected with Github\
βœ”οΈ Experience\
βœ”οΈ Certifications πŸ†\
βœ”οΈ Blogs\
βœ”οΈ Education\
βœ”οΈ Contact me

To view a live example, **[click here](https://ashutosh1919.github.io/)**

# Clone and Use πŸ“‹

- The website is completely built on `react-js` library of `javascript` and that's why we need `nodejs` and `npm` installed
- While installing `nodejs` and `npm`, try to install versions which are equal or greater than the versions mentioned in badges above
- In case you want to help developing it or simply saving it, you can fork the repository just by clicking the button on the top-right corner of this page
- After the successful installation of `nodejs` and `npm`, clone the repository into your local system using below command:
```bash
git clone https://github.com/ashutosh1919/masterPortfolio.git
```
This will clone the whole repository in your system.
- To download required dependencies to your system, navigate to the directory where the cloned repository resides and execute following command:
```node
npm install
```
- Now the project is ready to use
- You can check it using `npm start`, it will open the website locally on your browser.

# Customize it to make your own portfolio ✏️

In this project, there are basically 4 things that you need to change to customize this to anyone else's portfolio: **package.json**, **Personal Information**, **Github Information** and **Splash Logo**.

### package.json

Open this file, which is in the main cloned directory, choose any "name" and change "homepage " to `https://.github.io`. Do not forget the `https://`, otherwise fonts will not load.

### Personal Information

You will find `src/portfolio.js` file which contains the complete information about the user. The file looks something like below:

```javascript
// Home Page
const greeting = {
...
}

// Social Media
const socialMediaLinks = {
...
}

...
```

You can change the personal information, experience, education, social media, certifications, blog information, contact information etc. in `src/portfolio.js` to directly reflect them in portfolio website.

### How to change the icons on homepage under what i do section?

1. This section pulls data from `skills` in portfolio.js file.
2. Visit this website: https://icon-sets.iconify.design/
3. Search for the skill you are looking to add.
4. Select the icon of your choice.
5. Copy the text beside **Selected Icon** and replace it with `fontAwesomeClassName` of that particular softwareSkill.

#### How to use custom images instead of Iconify Icons?

1. Add a valid image file into the `public/skills` folder
2. Insert the image name into the `imageSrc` attribute of the particular softwareSkill
3. Remove the `fontAwesomeClassName` property or leave it empty because it takes precedence over `imageSrc`
4. Add custom styling to the `img` using the `style` Property

### Github Information

You will find `git_data_fetcher.mjs` file in the main directory of the repository. This file is used to fetch the data (Pull requests, Issues, Organizations, Pinned projects etc.) from your github.

In the project you will see a `env.example` file, create a new file named `.env` and copy contents of `env.example` into it. In that file, you will see the following environment variables

```javascript
GITHUB_TOKEN = your_token;
GITHUB_USERNAME = your_username;
```

You can get a github token as described [here](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token). Give all permissions while generating token. Add your github username and the token generated in `GITHUB_USERNAME` and `GITHUB_TOKEN` variables in the .env file.

Now, you need to run following command. (Make sure you executed `npm install` before this)

**Warning:** Treat your tokens like passwords and keep them secret. When working with the API, use tokens as environment variables instead of hardcoding them into your programs.

```node
node git_data_fetcher.mjs
```

This will fetch all the data from your github and it will automatically replace my data with yours.
Whenever you want to update the github related information on the website you need to run this command.

### Splash Logo

Note here that if you click [my portfolio](https://ashutosh1919.github.io), you can see animating the logo at the beginning. I have designed that logo in [`Figma`](https://www.figma.com/) and then animated it using css.
Therefore, this part of portfolio is not customizable. But don't worry we have a solution to this problem. You have below two alternatives:

- If you want to design your own logo, then you can design it using `Figma` or `Adobe XD` or `Adobe Illustrator` or `Inkscape`. If you want to animate it, you can refer to `./src/components/Loader` directory which contains `js` and `css` files which animates the logo
- If you don't want Splash screen or you don't know how to design logo, then this option is for you

- You can open `src/portfolio.js` file and at the top of this file you will see `settings` component as below:
```javascript
// Website related settings
const settings = {
isSplash: true,
};
```
- Change `isSplash` from `true` to `false`
- Now, if you see your website using `npm start`, it will directly open `home` rather than animating logo `splash` screen
- If you design your logo in future, then edit the files in `./src/components/Loader` and then revert `isSplash` to `true` in `src/portfolio.js`.

## Other

- You need to change the website title and other descriptions in `public/index.html`
- You can define your own favicon in `public/icons` directory. If you don't have a favicon, you can generate favicons from [Favicon Generator](https://www.favicon-generator.org/) and [Favicon IO](https://favicon.io/)
- You can also edit your website preview (known as description image). Run your site locally, take a screenshot and replace with `public/icons/desc.png`. Note that your screenshot should be 1280x640 for better preview.

# Choose Theme 🌈

- You can take a look at `src/theme.js` file where all available themes are mentioned with their respective color codes
- At the bottom of this file you will see the below code:
- `export const chosenTheme = blueTheme;`
- You need to change the name from `blueTheme` to whatever theme you want to set your website to
- You can define new theme similarly as other themes and you can assign name of that new defined theme to `chosenTheme`
- That's it. You just need to change the theme name and the code will take care of everything else
- Run `npm start` to check if everything is ok.

# Deployment πŸ“¦

- Once you are done with your setup and have successfully completed all steps above, you need to put your website online!
- I highly recommend using [Github Pages](https://create-react-app.dev/docs/deployment/#github-pages) to achieve this the EASIEST WAY.
- To deploy your website, you have two options. First you need to create a github repository with the name `.github.io`. Please don't give it any other name.
- Now, you need to generate a production build and deploy the website.

**Option 1:**

- Run `npm run build` to generate the production build folder.
- Enter the build folder, `git init` and push the generated code to the `master` branch of your new repository on github. That's it. It's Done.
- You may need to `git init` and force push at every new build.

**Option 2 (will not work with [user pages](https://docs.github.com/en/github/working-with-github-pages/about-github-pages)):**

- Run `npm run deploy` to build and create a branch called `gh-pages`. It will push the `build` files to that branch.
- The last step in deploying is to enable `Github Pages` in settings of the repository and select `gh-pages` branch.

Now, your website is successfully deployed and you can visit it at `.github.io`.
If you are stuck somewhere and want to observe the deployment process in depth, then please watch below video.





# Technologies used πŸ› οΈ

- [React](https://reactjs.org/)
- [graphql](https://graphql.org/)
- [apollo-boost](https://www.apollographql.com/docs/react/get-started/)
- [baseui](https://github.com/uber/baseweb)
- [react-reveal](https://www.react-reveal.com/)
- [styled-components](https://styled-components.com/)

# illustrations πŸ₯

- [UnDraw](https://undraw.co/illustrations)

# License πŸ“„

This project is licensed under the MIT License - see the [LICENSE.md](./LICENSE) file for details.

# Contributors ✨



Ashutosh Hathidara
Ashutosh Hathidara

πŸ’» πŸ“– 🎨 🚧 πŸ€”
Daniel Marostica
Daniel Marostica

πŸ“– 🎨
Dinesh Nadimpalli
Dinesh Nadimpalli

πŸ’»
Jivthesh M R
Jivthesh M R

πŸ“–
Jatin Chauhan
Jatin Chauhan

πŸ’»
Jainam Desai
Jainam Desai

πŸ’» πŸ’¬
Miftaul Mannan
Miftaul Mannan

πŸ’»


Ashutosh Mishra
Ashutosh Mishra

πŸ’»
Tamojit
Tamojit

πŸ“– πŸ’» 🎨
Prabin Karki
Prabin Karki

πŸ’»
Praveen Kumar Purushothaman
Praveen Kumar Purushothaman

πŸ“–
paul
paul

πŸ’»
Sandip Dhang
Sandip Dhang

πŸ’»
Jawad Moustadif
Jawad Moustadif

πŸ’»


Priyansh Khandelwal
Priyansh Khandelwal

πŸ’» 🎨
Abdessalam Bahafid
Abdessalam Bahafid

πŸ’»
Dhruv Krishna Vaid
Dhruv Krishna Vaid

πŸ’» πŸ“– πŸ€” πŸ’¬
KasRoudra
KasRoudra

πŸ’»
Albert Einstein
Albert Einstein

πŸ“–
Suraj Pratap
Suraj Pratap

πŸ“–
Sai Teja
Sai Teja

πŸ’» πŸ“– 🚧 πŸ€”


Anirudh Panda
Anirudh Panda

πŸ’»
Md Hidayat Rasool
Md Hidayat Rasool

πŸ“–
Siddhant Sadangi
Siddhant Sadangi

πŸ“–
Anoop V
Anoop V

πŸ’»
Aakash Singh
Aakash Singh

πŸ’»
AngΓ©lica Herrera Alba
AngΓ©lica Herrera Alba

πŸ’»
David Minkovski
David Minkovski

πŸ€” πŸ’»


Carmine Di Gruttola
Carmine Di Gruttola

πŸ€” πŸ“£
Vyom Rana
Vyom Rana

πŸ’»
Parth Chawande
Parth Chawande

πŸ’»
Armaan
Armaan

πŸ“–
Varun Dhand
Varun Dhand

πŸ’»
VJS Pranavasri
VJS Pranavasri

πŸ’»
Rahul Kushwaha
Rahul Kushwaha

πŸ’»

# References πŸ‘πŸ»

- Some Design and Implementation Ideas are taken from [Saad Pasta's Portfolio Project](https://github.com/saadpasta/developerFolio).
- The Logo of MasterPortfolio is inspired from [prettier-logo](https://github.com/prettier/prettier-logo) for [prettier](https://github.com/prettier/prettier) designed by @ianstormtaylor.