Code Monkey home page Code Monkey logo

saadpasta / developerfolio Goto Github PK

View Code? Open in Web Editor NEW
5.0K 5.0K 2.6K 25.67 MB

πŸš€ Software Developer Portfolio Template that helps you showcase your work and skills as a software developer.

Home Page: https://developerfolio.js.org/

License: GNU General Public License v3.0

HTML 3.25% JavaScript 61.77% Dockerfile 0.50% CSS 0.99% SCSS 33.50%
developer-folio developer-portfolio hacktoberfest portfolio portfolio-site portfolio-template portfolio-website portfolios react reactjs reactjs-template template

developerfolio's Introduction

Software Developer Folio ⚑️ GitHub GitHub stars All Contributors

A clean, beautiful and responsive portfolio template for Developers!

Just change src/portfolio.js to get your personal portfolio. Customize portfolio theme by using your own color scheme globally in the src/_globalColor.scss file. Feel free to use it as-is or personalize it as much as you want.

If you'd like to contribute and make this much better for other users, have a look at Issues.

Created something awesome for your fork of the portfolio and want to share it? Feel free to open a pull request.

Table of Contents

Portfolio Sections

βœ”οΈ Summary and About me
βœ”οΈ Skills
βœ”οΈ Education
βœ”οΈ Work Experience
βœ”οΈ Open Source Projects Connected with GitHub
βœ”οΈ Big Projects
βœ”οΈ Achievements And Certifications πŸ†
βœ”οΈ Blogs
βœ”οΈ Talks
βœ”οΈ Podcast
βœ”οΈ Contact me
βœ”οΈ Twitter Timeline
βœ”οΈ GitHub Profile

To view a live example, click here.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

You'll need Git and Node.js (which comes with npm) installed on your computer or use Docker.

Docker Commands

1) BUILD IMAGE : docker build -t developerfolio:latest .
2) RUN IMAGE: docker run -t -p 3000:3000 developerfolio:latest

How To Use

From your command line, clone and run developerFolio:

# Clone this repository
git clone https://github.com/saadpasta/developerFolio.git

# Go into the repository
cd developerFolio

# Setup default environment variables

# For Linux
cp env.example .env
# For Windows
copy env.example .env

# Install dependencies
npm install

# Start a local dev server
npm start

Linking Portfolio to GitHub

Generate a classic GitHub personal access token following these instructions (make sure you don't select any scope just generate a simple token). If you are using GitHub Actions to deploy your portfolio you can skip this section.

  1. Create a file called .env in the root directory of your project (if not done already in section: How To Use)

Note: Configuring environment variables before deploying your portfolio is highly recommended as some components depend on API data.

- DeveloperFolio
  - node_modules
  - public
  - src
  - .env         <-- create it here
  - env.example  <-- this is the base file
  - .gitignore
  - package-lock.json
  - package.json
  1. Inside the .env file, add key REACT_APP_GITHUB_TOKEN and assign your GitHub token like this, also add your username as GITHUB_USERNAME
// .env
REACT_APP_GITHUB_TOKEN = "YOUR GITHUB TOKEN HERE"
GITHUB_USERNAME = "YOUR GITHUB USERNAME"
USE_GITHUB_DATA = "true"

Set showGithubProfile to true or false to show Contact Profile using GitHub, defaults to false.

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.

Note: Open Source Projects section only show pinned items of your GitHub. If you are seeing something as shown below, follow these instructions.

ERROR

If the above solution still doesn't work, visit the wiki page.

Linking blogs section to Medium

Optionally, you can link the blogs section to your medium user account:

  • Inside the .env file, add key MEDIUM_USERNAME and assign your Medium username
// .env
MEDIUM_USERNAME = "YOUR MEDIUM USERNAME"
  • For Github Action, change the environment variable MEDIUM_USERNAME in .github/workflows/deploy.yml

Set displayMediumBlogs to true or false in portofolio.js to display fetched Medium blogs, defaults to true.

Change and customize every section according to your need.

Personalize page content in /src/portfolio.js & modify it as per your need. You will also need to modify index.html to change the title and metadata to provide accurate SEO for your personal portfolio.

/* Change this file to get your Personal Porfolio */

const greeting = {
  /* Your Summary And Greeting Section */
  title: "Hi all I'm Saad",
  subTitle: emoji("A passionate Full Stack Software Developer πŸš€"),
  resumeLink: "https://drive.google.com/file/d/1ofFdKF_mqscH8WvXkSObnVvC9kK7Ldlu/view?usp=sharing"
};

const socialMediaLinks = {
  /* Your Social Media Link */
  github: "https://github.com/saadpasta",
  linkedin: "https://www.linkedin.com/in/saadpasta/",
  gmail: "[email protected]",
  gitlab: "https://gitlab.com/saadpasta",
  facebook: "https://www.facebook.com/saad.pasta7"
};


const skillsSection = { .... }

const techStack = { .... }

const workExperience = { .... }

const openSource = { .... }

const bigProjects = { .... }

const achievementSection = { .... }

const blogSection = { .... }

const contactInfo = { .... }

const twitterDetails = { ... }

Using Emojis

For adding emoji πŸ˜ƒ into the texts in Portfolio.js, use the emoji() function and pass the text you need as an argument. This would help in keeping emojis compatible across different browsers and platforms.

Customize Lottie Animations

You can choose a Lottie and download it in json format from from sites like this. In src/assets/lottie, replace the Lottie json file you want to alter with the same file name. If you want to change the Lottie options, go to src/components/displayLottie/DisplayLottie.js and change the defaultOptions object, you can refer lottie-react docs for more info on the defaultOptions object.

Adding Twitter Time line to your Page

Insert your Twitter username in portfolio.js to show your recent activity on your page.

const twitterDetails = {
  userName : "Your Twitter Username"
};

Note: Don't use @ symbol when adding username.

Deployment

When you are done with the setup, you should host your website online. We highly recommend to read through the Deploying on GitHub Pages docs for React.

Configuring GitHub Actions (Recommended)

First you should enable, GitHub Actions for the repository you use.

The Profile and the Repository information from GitHub is only created at the time of deploy and the site needs to be redeployed if those information needs to be updated. So, a configurable CRON Job is setup which deploys your site every week, so that once you update your profile on GitHub it is shown on your portfolio. You can also trigger it manually using workflow_dispatch event, see this guide on how to do that.

Deploying to GitHub Pages

This section guides you to deploy your portfolio on GitHub pages.

  • Navigate to package.json and enter your domain name instead of https://developerfolio.js.org/ in homepage variable. For example, if you want your site to be https://<your-username>.github.io/developerFolio, add the same to the homepage section of package.json.

  • In short you can also add /devloperFolio to package.json as both are exactly same. Upon doing so, you tell create-react-app to add the path assets accordingly.

  • Optionally, configure the domain. You can configure a custom domain with GitHub Pages by adding a CNAME file to the public/ folder.

  • Follow through the guide to setup GitHub pages from the official CRA docs here.

Deploying to Netlify

You could also host directly with Netlify by linking your own repository.

Deploy To Netlify

For more information, read hosting on Netlify.

Technologies Used

Illustrations

For the Future

If you can help us with these. Please don't hesitate to open a pull request.

  • Connect with LinkedIn to get Summary, Skills, Education and Experience

  • Move to Gatsby

  • Add More Sections

Project Maintainers


Saad Pasta

Kartik Choudhary

Naveen M K

Muhammad Hasham

Contributors

Thanks goes to these wonderful people (emoji key):

Fawad Ali
Fawad Ali

πŸ€” πŸ’»
Dasun Navoda
Dasun Navoda

πŸ“–
Brian Teeman
Brian Teeman

πŸ“–
Rajkumar S
Rajkumar S

πŸ’»
Slim Coder
Slim Coder

πŸ’» πŸ“–
Mohamed Sayyaf
Mohamed Sayyaf

πŸ“–
Ashutosh Hathidara
Ashutosh Hathidara

πŸ’»
Rizwan Jamal ⚑️
Rizwan Jamal ⚑️

πŸ“–
Muhammad Hasham
Muhammad Hasham

πŸ’»
UJJAWAL JOSHI
UJJAWAL JOSHI

πŸ’»
Palak Sethi
Palak Sethi

πŸ’»
Vinicius Barbosa
Vinicius Barbosa

πŸ’»
Bharat Kammakatla
Bharat Kammakatla

🎨
Garima Singh
Garima Singh

πŸ’»
Henry Heng
Henry Heng

πŸ’» 🎨
Pulkit Banta
Pulkit Banta

πŸ’» πŸ›
Akshay Kumar
Akshay Kumar

πŸ’» πŸ›
Amna Ejaz
Amna Ejaz

πŸ’» πŸ€”
Paras Nagpal
Paras Nagpal

πŸ’»
Sparsh Garg
Sparsh Garg

πŸ’»
Aashutosh Rathi
Aashutosh Rathi

πŸ’»
Abhishek Kashyap
Abhishek Kashyap

πŸ›
Lucas V C Nicolau
Lucas V C Nicolau

πŸ“–
Bradley C. Herrin
Bradley C. Herrin

πŸ“– πŸ€”
Zekinah Lecaros
Zekinah Lecaros

πŸ’»
unbeat
unbeat

πŸ“–
Arshad Ahmed
Arshad Ahmed

πŸ“–
Xiaohui Liu
Xiaohui Liu

πŸ“– πŸ’» 🎨
Seungyeon-Lee
Seungyeon-Lee

πŸ’»
Najam Shehzad
Najam Shehzad

πŸ’»
Randy Jesus Real Srsen
Randy Jesus Real Srsen

πŸ’»
Tamojit Das
Tamojit Das

πŸ“–
Waren Gonzaga
Waren Gonzaga

πŸ’»
Benjamin Bourgeois
Benjamin Bourgeois

πŸ’»
Keshav Jain
Keshav Jain

πŸ’»
Hanzla
Hanzla

πŸ’»
Yogesh Rathod
Yogesh Rathod

πŸ“–
Kunal Mundada
Kunal Mundada

πŸ“–
Anubhav Gupta
Anubhav Gupta

πŸ’»
Vatsal Dave
Vatsal Dave

πŸ’»
Elvis Ciuffetelli
Elvis Ciuffetelli

πŸ’»
Scott Jellen
Scott Jellen

πŸ’» 🎨
Karthik Mohan
Karthik Mohan

πŸ›
mhowell11
mhowell11

πŸ“–
gajanandh
gajanandh

πŸ›
JooHyukKim
JooHyukKim

πŸ’»
Red Headphone
Red Headphone

πŸ’» πŸ›
Sunit Roy
Sunit Roy

πŸ›
Atir Nayab
Atir Nayab

πŸ›
Shehriyar Qureshi
Shehriyar Qureshi

πŸ’»
respectech
respectech

πŸ’»
Brayden
Brayden

πŸ›
Canciu Costin
Canciu Costin

πŸ’»
Atharv Singh
Atharv Singh

πŸ’»
Ishan Khandelwal
Ishan Khandelwal

πŸ“–
Sergey Lyapustin
Sergey Lyapustin

πŸ’»
Camila Pozas
Camila Pozas

πŸ’»
Sai Teja
Sai Teja

πŸ›
Vinit Hemadri
Vinit Hemadri

πŸ’»
Njong Emy
Njong Emy

πŸ“–
Tamal Das
Tamal Das

πŸ“–
Dunsin
Dunsin

πŸ’»
Muneeb Ahmed
Muneeb Ahmed

πŸ’»
Qais Attarwala
Qais Attarwala

πŸ’»

developerfolio's People

Contributors

9inpachi avatar abhishekashyap avatar ahsanayaz avatar akshaychd avatar allcontributors[bot] avatar ashutosh1297 avatar ashutosh1919 avatar canciucostin avatar dependabot[bot] avatar garimasingh128 avatar karthikmohan avatar kartikcho avatar keshavjain235 avatar naveen521kk avatar palak-sethi avatar pre-commit-ci[bot] avatar pulkitbanta avatar rajkumaar23 avatar redgitwolf avatar redheadphone avatar rizwanjamal avatar saadpasta avatar saiteja13427 avatar slyapustin avatar sparsh-99 avatar tamalcodes avatar tamojit-123 avatar vivekanand999 avatar yogeshhrathod avatar zekinah avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

developerfolio's Issues

Update Portfolio.gif in Readme.

As recently there have many changes on the site I think its time for us to update Protoflio.gif in ReadMe file. This would help visitors to see the latest Version of the project.

Add Dark Mode Option πŸŒ™

Most applications nowadays have dark mode and it kinda looks cool so I guess we should implement Dark Model in DeveloperFolio.

Contents in meta tags display 404

The contents of the property "og:image" in meta shows 404.
<meta property="og:image" content="https://saadpasta.github.io/static/media/developerActivity.59389695.svg" />

pinnedRepositories does'nt work

4 Days ago i try this awesome template and works well, but today i found that there is an error on api call for Github Repositories. Then i checked on graphql explorer that there are no field "pinnedRepositories". That makes the pinned repo's did'nt show up on web page. Any help?

... on User {
pinnedRepositories(last: 6) {
edges {
node {

Update Font to Better Fonts

Currently, Website uses a font that doesn't look good on windows so if we need to update our font to something better

Website Not Secure

While opening the website the padlock symbol doesn't show and on clicking it says parts of website is not secure. Better to change all http to https .

Rename of dockerFile to Dockerfile

I tried running the following command to:

docker build -t developerfolio:latest .

But ran into following error:

unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat /home/rakesh/Desktop/Projects/developerfolio/Dockerfile: no such file or directory

Issue: Dockerfile has wrong name. It is dockerFile instead of Dockerfile. Renaming the file successfully built my Docker container.

Move all details to one Config File

Now everyone has to change image file and link by going to the specific file.

We have to create a File that has all the changeable details like name, summary, Github Token etc.

Add Work Experience Section

Summary

Hi all thanks for the awesome project and the supporting community here. I was wondering can we add a section of work experience just like https://bchiang7.github.io. If yes, I would love to contribute to that.

What's new?

Adding a new section called WorkExperience that showcase past experiences with timeline.

Motivation

As an electronics engineer with no formal CS background, I think it's important to add my past work experiences to showcase my other skillsets.

Let me know what you guys think!

Setup CI/CD and new deployment domain

Our project has come far from how it used to be with a lot of changes and new components.

To show all newly added components and design changes, I think we should create it as a dummy portfolio. To make it clear, let's use all the components in the demo deploy build.

This would:

  • keep the demo updated with all new features.
  • since most people like to see the demo before using a project (myself included), this will show all possibilities of our project.

(This would also mean that you would have to move your personal deployment of the project to a private or other repo)
Let me know what you think about this.

Documentation?

I forked the repo, edited src/porfolio.js, and my pages site still displays README.md. What gives?

Automatically add latest blog post

Adding automatic blog post would be better. If the user writes a new blog post it should automatically come out in this Page. Better using any Rss feed or Blogger API.

Add Twitter Timeline

Adding a twitter timeline would embed the latest tweets of the user. Making it optional would be better. This would make the site look more good with latest feed updated.

Open Source Section minor UI update

The open-source section in the portfolio has more space and alone font-size is bigger. See the screenshot below.
openSource-section
The font size of the heading should be reduced. Further, the icon size of the repo should be increased. Using emoji function in description of the
Repo would ensure uniform rendering of emoji. Refer #84.

Performance Issue

Currently, there is a performance issue on our DeveloperFolio we want it to load instantly. Currently, we are using lots of images from unDraw.

This audit is done on saadpasta.github.io. Please try to do an audit on your portfolio.

Screen Shot 2020-04-08 at 2 18 52 PM

Screen Shot 2020-04-08 at 2 19 02 PM

Screen Shot 2020-04-08 at 2 19 09 PM

Back to top button πŸ”

Back to the top button when the user is at the middle or ends it allow the user to go top the top without the hassle of scrolling included in many websites

Make the app interactive

The app in it's current state is a static webpage. I believe adding simple transitions and interactivity could severely overhaul the user experience.
I would start with adding animate.css to make transitions for elements while scrolling down.

Add new progress bar component

Since this repo is gaining popularity, I think we should create more opportunities to work or contribute for new people who might be interested. What do you think @saadpasta ?

Font Customization

It would be great if we could customize the font from portfolio.js, for now, the developer/user is stuck with one font.

Switch to different license

Recently I've seen a rise in the number of people using our portfolio (which is great news).

This also comes with people who are not using this for their personal use but instead wrapping it as their own work and getting clout for the work put by so many in this.

I strongly suggest we shift to a less flexible license than MIT (which only requires the person to credit the original work but have all other rights).
I hope this would help reduce the number of incidents like these as the project was built for personal use and not personal gain. @saadpasta

[Design] Merge Blogs section and Talks section into one

The current design for the above mentioned feel bland and out of place at the moment. Maybe merge them into one component or add a carousel slider to switch between the two maybe?
This could help fill Blogs section up and make it look more consistent with the design.

Also this needs a thumbnail lol

Screenshot (66)

Remove src/assests/font-awesome folder

The folder located at src/assests/font-awesome has many issues in Codacy and as well it is not required. I also found there is a link to font-awesome CSS in index.html and that would do. So instead of importing the whole font-awesome using a CDN is better.

Achievement Card Subtitle Not Working

Inside Portfolio>achievementSection>achivementsCards>description i wrote all the descriptions but did not appear.

Just change description to subtitle and it works.

Thanks @saadpasta for this awesome template ❀

Make Social Media Links more compatible

For now, the social media strip component which is used twice is not that compatible. It allows only specific links to be added and is now dynamic. If a link is empty it becomes unclickable even though the icon is visible. Finally, it needed to be changed to dynamic and let the user add other socail media links also.

New contacts section #2

LinkedIn offers a profile card display on a portfolio or any website. What do you think about redesigning contacts section or something like that if we want to include this in our portfolio.

LinkedIn Cards

Changing the header logo text with Users name

The header has a Logo like the design of name and is as Saad Pasta. That should be changed to the user name which can be entered using src/protofolio.js by the user. That would make it more customising.

Togglable dark mode

Every programmer's weak point! It would be good to have a togglable feature to view the entire website in light/dark mode!

Resume URL abstraction

  • Create a new Resume component with iframe src as the drive link for the file, so that it looks cleaner instead of redirecting to Google Drive.

Issue in github secret token

the part of github repos fetching interested me in this project. so i had a look to implement in my portfolio

and found out you mentioned to get encrypted key using btoa() which can be easily reverted back to atob() and and can be used by third members.

i want you to do this way, which can favour deployment also..

right now, i saw you are having two projects, this is for react-code and build code in different projects

how about having only one project with username.github.io as it wants master code as build code

-> have a develop branch where your react code comes

whenever you do a push run a ci-script which adds github key at runtime from env vars or secrets with more security and produces build code in master branch

Better styling for medium resolutions

The site as it is now does not look very good at medium resolutions.
Specifically the padding and font size do not look optimal.
Tested on resolutions 1280 x 720 and 1024 x 768.
image

I will try to add a fix for this.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.