Code Monkey home page Code Monkey logo

terminal-portfolio's Introduction

Typing SVG

image see live here!

Terminal Portfolio

Issues Pull requests Forks Stars Licence


Why Terminal Portfolio?

Vision

Terminal-Portfolio invites talented developers to create stunning, command-line themed portfolios to showcase their skills and work. Command-line interface is a powerful and efficient tool for developers, and this project aims to celebrate this through the creation of visually striking and intuitively designed web terminal.

Status

I am currently using this as my default Portfolio.:sparkles:

Docs

(back to top)

Codebase

Technologies

HTML CSS JavaScript

Frontend HTML/CSS/JS: Almost all of the code you'll touch in this codebase will be HTML, CSS or JavaScript.

How to get started with Open Source

Here's a quick run down on how to get started with open source, first of all let's know some basic terminologies:

  • Git: is a versioning system that let's you store your code and code history on your local computer preventing loses and allowing sharing of that code
  • Github: is a server that let's you store the history in a database
  • Open Source: A project is said to be open sourced if you can see the code on GitHub
  • Fork: This is a copy that you make of a project on GitHub, it gets added to your repositories
  • Repository: A project on GitHub is called a repository
  • Pull Request: This is a fix for an issue proposed to be done in a project, this consists of you editing a file in the project.
  • Issue: An issue is a change that should be done in a project, can be a bug, a new feature or a suggestion to a project
  • Branch: A branch is a new workspace derived from the default workspace(main or master), it allows you to work on something without affecting the original code

Now you know some basic terms, let's get into how to get started with some resources to let you understand open source better:

(back to top)

Contributing

  • Take a look at the existing Issues
  • Fork the Repo create a branch for any issue that you are working on and commit your work.
  • Create a ** Pull Request, which will be promptly reviewed and given suggestions for improvements by the community.
  • Add screenshots or screen captures to your Pull Request to help us understand the effects of the changes that are included in your commits.

How to make a Pull Request?

  1. Start by forking the Terminal-Portfolio repository. Click on the symbol at the top right corner.

  2. Clone your forked repository:

    git clone https://github.com/<your-github-username>/Terminal-Portfolio.git
  3. Navigate to the new project directory:

    cd Terminal-Portfolio
  4. Set upstream command:

    git remote add upstream https://github.com/TechSpiritSS/Terminal-Portfolio.git
  5. Create a new branch:

    git checkout -b YourBranchName

    or

    git branch YourBranchName
    git switch YourBranchName
  6. Sync your fork or local repository with the origin repository:

    • In your forked repository click on "Fetch upstream"
    • Click "Fetch and merge".

Alternatively, Git CLI way to Sync forked repository with origin repository:

git fetch upstream
git merge upstream/main

Github Docs for Syncing

  1. Make your changes to the source code.

  2. Stage your changes and commit:

    ⚠️ Make sure not to commit package.json or package-lock.json file

    ⚠️ Make sure not to run the commands git add . or git add *. Instead, stage your changes for each file/folder

    git add file/folder
    git commit -m "<your_commit_message>"
  3. Push your local commits to the remote repository:

    git push origin YourBranchName
  4. Create a Pull Request!

(back to top)

Alternatively to create a Pull Request using GitHub Desktop:

  1. Open GitHub Desktop and log in to your GitHub account.

  2. Make sure you are on the "Current Repository" view. If not, go to "File" and select "Add Local Repository" to add your repository.

  3. In the "Current Repository" view, ensure you are on the branch that you want to submit a pull request for. If you're not on the correct branch, use the "Branch" menu to switch to the correct branch.

  4. Once you're on the correct branch, make your changes and commit them to the branch. You can do this by clicking the "+" button in the upper-left corner of the GitHub Desktop window, making your changes, and then entering a commit message.

  5. After you've made your changes and committed them, click the "Push origin" button in the top-right corner of the GitHub Desktop window. This will push your changes to the remote repository on GitHub.

  6. Now, go to the GitHub website, navigate to your fork of the repository, and you should see a button to "Compare & pull request" between your fork and the original repository, click on it.

  7. On the pull request page, you can review your changes and add any additional information, such as a title and a description, that you want to include with your pull request.

  8. Once you're satisfied with your pull request, click the "Create pull request" button to submit it.

Note: In order to create a pull request, you must have a fork of the original repository in your GitHub account and you must have made the changes in that forked repository.

Congratulations! You've made your first contribution! 🙌🏼

We heartily welcome any and all contributions that match our engineering standards! 🙌

(back to top)

Ground Rules

Contributions and discussion guidelines

All conversations and communities on Terminal Portfolio agree to GitHub's Community Guidelines and Acceptable Use Policies. This code of conduct also applies to all conversations that happen within our contributor community here on GitHub. We expect discussions in issues and pull requests to stay positive, productive, and respectful. Remember: There are real people on the other side of that screen:exclamation:

Reporting a bug or discussing a feature idea

If you found a technical bug on Terminal Portfolio or have ideas for features we should implement, the issue tracker is the best place to share your ideas. Make sure to follow the issue template and you should be golden! (click here to open a new issue)

Fixing a bug or implementing a new feature

  • If you find a bug on Terminal Portfolio and open a PR that fixes it.
  • If you want to implement a new feature, open an issue first to discuss what it'd look like .
  • If you want to contribute but are unsure to start, we have a "good first issue" label which is applied to newcomer-friendly issues. Take a look at the full list of good first issues and pick something you like!
  • Want to fix a bug or implement an agreed-upon feature? Great, jump to the local setup instructions!

(back to top)

Open Source Programs

Hacktoberfest22-Dark SWOC S3

Thanks to all Contributors 💪

Thanks a lot for spending your time helping Terminal Portfolio grow. Thanks a lot! Keep rocking 🍻

Contributors

License

MIT License, see the LICENSE file

(back to top)

terminal-portfolio's People

Contributors

abhishekm2001 avatar anishdubey27 avatar arjun118 avatar arnabchatterjee20k avatar ashishraikwar1290 avatar bhagatharsh avatar binbard avatar coodos avatar dheerajchhatanidc avatar ethapar avatar gaut2003 avatar grlcodr avatar harsitagarwalla187 avatar khushigarg1 avatar kuberaspeaking avatar mohakgupt avatar pixel99-eng avatar rajsaheel avatar sadashaykanungo avatar saran-pariyar avatar siddharthsinghvats avatar siddhesh-agarwal avatar stallardjw avatar subhranshuchoudhury avatar techspiritss avatar theanuragshukla avatar theshonuff avatar thomascouto avatar vaibhavarora314 avatar yash6318 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

terminal-portfolio's Issues

Work Experience

Contact Details

No response

What happened?

There is not any experience section in portfolio.

What should have happened?

I want to add one command for experience. Please assign this issue to me?

What browsers are you seeing the problem on?

No response

Version

No response

Relevant log output

No response

Dark Mode

Add a Toggle Button and CLI Command to Switch to Dark Mode.

[Req]: Auto Arrange Commands List

Contact Details

[email protected]

Explain the proposed feature

A function that will automatically organize the list of commands in alphabetical order. This feature will make it easier for user to find the command they are looking for.

Explain the possible use cases for the feature

By organizing the commands in alphabetical order, users will be able to more easily find the command they are looking for, making it easier to use the terminal-like portfolio.

Any other details you would like to provide?

No response

Adding a favicon to the site

I would like to add a favicon for the website, I have designed something that I think is appropriate - a terminal icon, in the main color of the website!

Screenshot 2022-10-03 at 19 48 46

And the following is an example of how that would look in a browser tab:
Screenshot 2022-10-03 at 19 50 11

Please let me know if this is acceptable and I will add for Hacktoberfest ☺️

[Bug]: Github command should be asynchronous

Contact Details

[email protected]

What happened?

The github command fetches the github api to get a user's details. In the current code, this fetch is not done asynchronously. So we are getting the output after a new line has been created in the terminal.
Here is the screenshot of the bug.
issue

What should have happened?

The github user details should be prefetched. When github command is entered, the only activity should be printing the prefetched details since new line creation is implemented with fixed time delay. This is the implementation style used in contributors command that does have this issue.

What browsers are you seeing the problem on?

No response

Version

No response

Relevant log output

No response

[Req]: Skills Command

Contact Details

[email protected]

Explain the proposed feature

Create a Skill Command to showcase skills. The UI must be clean with proper groups / categories like this
image

Add those skills static data in Config JSON File and you can add any skill you want to ensure all the required groups are been created

Explain the possible use cases for the feature

No response

Any other details you would like to provide?

No response

Possible command option on wrong command

Contact Details

[email protected]

Explain the proposed feature

On inputting wrong command, instead of simply stating wrong command, it can show possible command for example.
Input - Githb
Output - do you mean Github?

Explain the possible use cases for the feature

This will make Terminal more user friendly while stating the possible typo

Any other details you would like to provide?

Make sure the operation isn't resource expensive to cause some kind of lags.

[Bug]: 'Tab' Autocomplete not working

Contact Details

No response

What happened?

I was working on #99 and while doing so found that after the code refractor the Tab functionality is not working.

What should have happened?

Whenever we press Tab key the command if related then should be autocompleted.

What browsers are you seeing the problem on?

No response

Version

No response

Relevant log output

No response

[Req]: Ctrl+L clears the terminal instead of typing "clear"

Contact Details

[email protected]

Explain the proposed feature

In an terminal, pressing Ctrl+L clears the terminal. Would like to implement the same to give enhance the terminal like experience.

Explain the possible use cases for the feature

For someone who uses the terminal regularly, the user would want the same experience as with a real terminal.

Any other details you would like to provide?

Would like to do this for hacktoberfest. Would be great if you could assign it to me.

Create buttons to change theme

I'd like to add the ability to change between different color themes, much like what normal terminals have. Maybe start with a few preset ones for now, with the possibility of later adding functionality for the user to create their own?

[Req]: Separate Configuration File for all the data

Contact Details

[email protected]

Explain the proposed feature

Currently the data for each command is hard coded in script.js. It would be better if we have one config.json file for all the data which the js code can read from.

Explain the possible use cases for the feature

It will make it much easier for others to clone the project and spin up their own terminal-portfolios. They will just have to add their data in the config.json file.

Any other details you would like to provide?

Later a platform can be built that enables users to create their own terminal portfolios by simply filling out a form with all their data.

Added EXIT functionality

Hello @TechSpiritSS !

The user was unable to exit the terminal when viewing the terminal.
I have added just the functionality of exiting the terminal at one click.
Please assign me this feature edit and give this issue a "hacktoberfest" tag.

I will create a PR soon.

Hope that helps😇

Feat : Add a "contact" command

Here, the idea is to add a command from the list of options under help so that when customers have a request, they can type their email and their query.

New command : Showing your github stats

  • I want to add a new command which shows your github stats
  • I want to name the command as "stats" (If you want any other name plz tell)
  • I will display all your github details as such number of projects, no. of PR's, no. of stars etc.
  • I will update the Help command accordingly

Create CONTRIBUTING.md file

I would like to create CONTRIBUTING.md file so that newbees can understand in abetter way.
Assign me please

Bug: clicking up arrow moves cursor to the beginning

In a normal terminal, if you want to go back to a previous command, you can use the up arrow key and it will put the cursor at the end of the previous command typed.

This website has a similar functionality, but puts the cursor at the beginning of the command, which can be annoying if you want to add onto the command

I'd like to try fixing this bug if I can!

fixing typos and add customization to contribuion.md

Contact Details

Explain the proposed feature

Would like to fix typos and try to add customization in contribuion.md

Explain the possible use cases for the feature

No response

Any other details you would like to provide?

No response

[Bug]: Fix case sensitivity

Contact Details

No response

What happened?

Currently, it only accepts input if it matches the provided commands precisely. it throws an error if there are any uppercase characters or leading and/or trailing spaces.

What should have happened?

Valid commands should be accepted regardless of their format.

What browsers are you seeing the problem on?

Firefox, Chrome, Safari

Version

No response

Relevant log output

No response

Typo in CONTRIBUTION.md

  • The contribution file is not customized for this project but is generic.
  • It has mentions of the js-dom-snippets project in it.

I can enhance the contribution file to make it easier for people to contribute. @TechSpiritSS , please assign it to me.

[Req]: History Command

Contact Details

[email protected]

Explain the proposed feature

This will allows users to view a record of previously executed commands. This feature can be particularly useful for users who need to refer back to past commands or who want to see a record of their activity within the terminal

Explain the possible use cases for the feature

  • Record keeping
  • Enhanced user experience

Any other details you would like to provide?

No response

[Req]: Add open graph meta tags

Contact Details

[email protected]

Explain the proposed feature

Add meta tags of open graph

Explain the possible use cases for the feature

Look elegant when shared over social media (previews)

Any other details you would like to provide?

No response

Add tab autocomplete feature

To make the terminal UI behave even more like a terminal, I think providing functionality where on pressing tab after an incomplete command, it autocompletes it, would be great!

For example if a user types in proj and presses tab, it should update to project , after which the user can press Enter to execute the autocompleted command.

If this sounds good to you, I'd love to work on adding this!

Adding a download command to download your resume

Contact Details

No response

Explain the proposed feature

Download command will download your resume in pdf format for ease of viewing

Explain the possible use cases for the feature

No response

Any other details you would like to provide?

No response

[Bug]: Blogs command should be async

Contact Details

[email protected]

What happened?

The blogs command fetches an api to get list of blogs. In the current code, this fetch is not done asynchronously. So we are getting the output after a new line has been created in the terminal.
Here is the screenshot of the bug.

image

What should have happened?

The api needs to be fetched asynchronously and new line should be created only after the blogs list has been displayed.

What browsers are you seeing the problem on?

No response

Version

No response

Relevant log output

No response

[Bug]: Change buttons function

Contact Details

No response

What happened?

Currently buttons are working but not in proper order.

What should have happened?

Change the function order to:

  • Red - Close
  • Yellow - Resize
  • Green - Min / Max

What browsers are you seeing the problem on?

No response

Version

No response

Relevant log output

No response

Cheer command

Added a "cheer" command which can take appreciative messages and will reply creatively. Also improved the text color and text style in list of commands. Hope you like and accept it.

[Req]: To sync the background of theme dropdown

Contact Details

No response

Explain the proposed feature

The theme dropdown should have same background as the current theme.

Explain the possible use cases for the feature

Will look more inherent.

Any other details you would like to provide?

No

[Req]: Responsiveness

Contact Details

[email protected]

Explain the proposed feature

Currently the site is not fully responsive and has some minor bugs. Fix all those non (or less) responsive elements (including themes).

Explain the possible use cases for the feature

  • Improved accessibility:
  • Enhanced user experience

Any other details you would like to provide?

No response

[Feature] Add "blogs" Command

We can add one command for showing blogs. For now, blogs can be hard-coded, but later we can fetch them from API or RSS feed.

[Req]: Dropdown Menu for Theme Switcher

Contact Details

No response

Explain the proposed feature

Make a drop-down menu for theme switcher that can act in both UI (Desktop and Mobile).

Explain the possible use cases for the feature

No response

Any other details you would like to provide?

The Mobile UI should remain clean.

[Req]: Adding flags for detailed response

Contact Details

[email protected]

Explain the proposed feature

I'll add flags like -d and -l for showing details about your social media accounts and to show link to your social media accounts. I plan on adding flags and other features to this repository in other issues.

Explain the possible use cases for the feature

This feature has massive possibilities for implementations as every command can be enhanced using flags. Flags can be used to show a variety of responses for a command as per user requirement.

Any other details you would like to provide?

I would like to be assigned this issue for the ongoing hacktoberfest.

Contributing.md file missing

According to hacktoberfest guidelines, repos participating in hacktoberfest should have a contributing.md file in order to help contributors.
You want me to add it?

[Bug]: Change EXIT from Click to Type

Contact Details

No response

What happened?

The EXIT works on mouse click.

What should have happened?

Change that clicks to exit to Type to exit i.e., user type EXIT to EXIT the window.

What browsers are you seeing the problem on?

No response

Version

No response

Relevant log output

No response

[Req]: Separate Files

Contact Details

No response

Explain the proposed feature

The code files are getting bigger and it's getting difficult to keep track of all the code in single file. It'd be better if we spilt the files according to the job, they are preforming instead of having all in one file.

Explain the possible use cases for the feature

No response

Any other details you would like to provide?

No response

Adding the Calculator functionality

Hey @TechSpiritSS .
I've tried adding a calculator functionality to it.
Note :- It can only perform operation on 2 numbers at a time.
It will take 2 numbers as input and then ask which type of operation to be performed.
It can perform operations such as addition, subtraction, subtraction, division, multiplication, modulo, AND, OR on the two given numbers.

I hope it helps.
P.S :- Please go thoroughly through the script.js file because I've made significant changes in it.

Thanks :)

[Req]: Updating the readme file.

Contact Details

[email protected]

Explain the proposed feature

I think the contributing guidelines in the readme file might not be sufficient for a new contributor.
We can make some changes in the file which makes the process of contributing easier with a step by step contributing process.

Explain the possible use cases for the feature

This would be helpful for the first-time/new contributors to start contributing.
Also the project will get contributions from many new contributors.

Any other details you would like to provide?

I would like to work on this issue and contribute to the project.

[Req]: More data in Config JSON File

Contact Details

[email protected]

Explain the proposed feature

As of now, there is some static data in the file and I want it to be inside JSON file. To implement this feature, the first step would be to locate all the static data in the file. This can be done manually by reviewing the file and identifying any static data, or it can be done automatically using a tool or script to search for and identify static data. Once all the static data has been identified, it can be converted to a JSON file format and stored in a JSON file

Explain the possible use cases for the feature

The Static Data to JSON File Conversion can help improve the efficiency, organization and access of data for easier editing.

Any other details you would like to provide?

This is a simple task but due to amount of time required to cover all static data, I'll assign it Intermediate.

[Req]: Store the user theme preference to the local storage

Contact Details

[email protected]

Explain the proposed feature

Every time after refreshing the webpage, the theme gets set to the default one. Rather than this, it should remember the user preference and load the theme that is chosen by the user whenever the user visits the webpage.

Explain the possible use cases for the feature

Suppose I will visit the webpage after months, even after so long time the webpage directly loads into my preferred theme that I may had choose months ago.

Any other details you would like to provide?

No response

Bug: up arrow goes to the second most recent command

When clicking the up arrow, I expect the most recent entered command to appear, however the second most recent command appears instead. This only happens when more than one command was entered.

I'd like to try working on this issue, if I can

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.