Giter Site home page Giter Site logo

thtauhid / terminal-portfolio Goto Github PK

View Code? Open in Web Editor NEW
26.0 1.0 22.0 725 KB

A portfolio site that looks and feels like a terminal. Built with React + Tailwind.

Home Page: https://my-terminal-portfolio.vercel.app/

License: MIT License

JavaScript 3.59% HTML 1.31% TypeScript 93.50% CSS 1.40% Shell 0.20%
portfolio react terminal vite hacktoberfest10 hacktoberfest2023 mit-license hacktoberfest tailwind terminal-portfolio

terminal-portfolio's Introduction

terminal-portfolio

image

Read our goals and roadmap here.

About

A portfolio site template that looks and feels like a terminal.

Production: https://my-terminal-portfolio.vercel.app/

Installation

git clone https://github.com/thtauhid/terminal-portfolio
cd terminal-portfolio
npm install

Usage

To run the development server:

npm run dev

To build the project:

npm run build

Technologies Used

  1. Vite: Vite is a build tool that helps make your web development faster by providing quick development server and efficient production builds.

  2. React: React is a JavaScript library for building user interfaces. It helps create interactive and reusable components for web applications.

  3. React Hook Form: React Hook Form is a library for managing and validating form input in React applications. It simplifies form handling.

  4. TypeScript: TypeScript is a programming language that adds static typing to JavaScript, making it easier to catch and prevent common errors in your code.

  5. ESLint: ESLint is a tool for identifying and fixing common errors and maintaining code quality in JavaScript and TypeScript.

  6. Tailwind CSS: Tailwind CSS is a utility-first CSS framework that simplifies styling by providing pre-built classes for common styles.

  7. Vercel Analytics: This is a package for adding analytics and monitoring to your web application, often used for tracking user interactions and performance.

Deployment

You can deploy this project to any static site hosting service.

Some of the popular ones are:

Deploying to Vercel

Vercel is a recommended platform for deploying your terminal-portfolio. Here are the steps to deploy your project to Vercel and enable Vercel Analytics:

  1. Sign in to your Vercel account or create one if you don't have an account yet.

  2. Install the Vercel CLI by running the following command:

npm install -g vercel
  1. Authenticate your Vercel account using the following command:
vercel login
  1. Navigate to your project directory:
cd terminal-portfolio
  1. Deploy your project to Vercel:
vercel
  1. Follow the prompts to configure your deployment settings. Make sure to choose a domain name and set up the deployment environment according to your preferences.

  2. Once the deployment is complete, your terminal-portfolio will be live on Vercel, and Vercel Analytics will be enabled by default, providing you with valuable insights into your website's performance.

Contributing

Contributing Guide

Feel free to open an issue if you find a bug or want to suggest a feature.

Hacktoberfest

  1. Star the project.
  2. Join our Discord server to discuss ideas and ask questions.
  3. Please make sure to read the rules before opening a pull request.
  4. The maintainer(s) will add the hacktoberfest-accepted label after reviewing and accepting your pull request.
  5. Refer to the dedicated hacktoberfest project view to see what issues are available to work on.
  6. Low quality PRs will not be merged

Contributors

Made with contrib.rocks.

License

MIT License

terminal-portfolio's People

Contributors

deafwired avatar divyanshinarang avatar groggy7 avatar irfanfaraaz avatar kritika30032002 avatar linhnguyenle2109 avatar paulie-aditya avatar racchittt avatar ranjeetj06 avatar relativvv avatar rupeshghosh10 avatar thtauhid avatar vilayat-ali avatar vr-varad avatar y1a2s3h4 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

Watchers

 avatar

terminal-portfolio's Issues

Icon support

Integrate any of the font libraries that are available.
Currently, there is no specific preferred library.

Please note: whichever icon library you choose, it should include popular social icons like FB, LinkedIn, GitHub, etc.


Join our Discord server to discuss ideas and ask questions.

Create better dummy data

I have put some dummy data, but it can be much much better in terms of quality and quantity.
Feed free to improve the quality and quantity of the data.
Try to make the data look real-ish.

Add support for google analytics

Currently, we only support Vercel Analytics. Some users might want to use Google Analytics.
Need to add support for it.


Join our Discord server to discuss ideas, ask questions, and collaborate with others.

Create user data parser

As this project is heading in a new direction, now we need to build a user data parser.
This is going to be one of the core functionalities.

Automatic Scrolling Should Be There

I have encountered an issue on site where the automatic scrolling feature does not work as expected. When the output exceeds the visible screen area, users are required to manually scroll down to view the full result. This behavior is counterintuitive and disrupts the user experience.

Project Road Map

Almost all the features are in place.
Now we need to decide the future of this project.

Possible futures-
Project is kept in it's present state.

  • Users can clone the repo
  • Add their own details in data.json
  • Host on their own

Or we can move in this direction-
SaaS Model (Suggest me better name)

  • Users can come to this repo
  • Submit their basic details
  • They will get a terminal styled portfolio with link
  • They can share the link with their friends

I really like the BioDrop project. This model is similar to BioDrop.


Join our Discord server to discuss ideas, ask questions, and collaborate with others.

Improve styling of the app

Though the app somewhat looks like the Ubuntu terminal, some design modifications can still be done.
This is a somewhat open-ended issue, you are not bound by my thoughts, feel free to implement your thoughts to align the design of the app with Ubuntu terminal.

Replacing John Doe with user input

It's very easy to implement, we can just ask for the username, email of the user and show that in the about and contact commands

If this issue looks okay to implement, pls do assign me the same.

Add mobile support

Currently, the application is designed for desktop browsers only.
Need to add mobile support.

Create history command

When a user enters the command "history", he/she should be able to see the commands previously entered.

A relevant screenshot-
image

Remove vite logo and add custom logo

Currently, the Vite logo is shown as the favicon.
We need to replace it.
Create a logo (it can be as simple as the letter 'P') in any photo editing tool.
Then replace the existing Vite logo in the repo.

Refactor App.tsx

The codebase is growing. It's becoming hard to maintain and navigate through the code.
We need to refactor App.tsx. These changes need to be made

  • Create separate files for components
  • move functions to separate files of their own

This should declutter App.tsx


Join our Discord server to discuss ideas and ask questions.

Enforce styling guideline

Currently, we are not enforcing any styling guidelines.
We need to enforce basic styling & formatting.
For now, it'll be limited to using prettier to format the code.

These tasks need to be completed to enforce the styling guidelines-


Join our Discord server to discuss ideas and ask questions.

LOOKING FOR MAINTAINERS

LOOKING FOR MAINTAINERS

It's bit difficult to maintain the repo by myself only.
Looking for maintainers who can respond to issues, review PRs, and provide feedback.

There's no minimum time commitment.

If you are interested please email me at [email protected]

Up arrow key cursor behaviour

When using the up arrow key, the cursor remains at the beginning of the command line, unlike in a real terminal where it moves to the end of the command line.

I can work on it.

Add profile builder tool

Create a tool that users can use to

  • Users should be able to edit their existing data using GUI
  • Users should be able to use drag and drop functionality to rearrange their data

Adding these functionalities will help the users to easily create and edit their terminal-portfolio.


Join our Discord server to discuss ideas and ask questions.

Add window buttons and title

In all the operating systems we have buttons (minimize, maximize, close) and also the title.
We want to add the buttons + title in this app also.

image
Photo Credit: GeeksForKeeks

Ability to visit the project links

  • I can help you to create feature where visitors can select the project.
  • This is for hacktoberfest 2023.
  • Also we can change the font theme to something terminal based font.

Changing the appearance of the Portfolio.

Pull Request Link --> #32

Portfolio after updating :
port

Portfolio before updating :
port 0

Since the portfolio was looking quite unattractive from UI point of view, I have updated the UI of the portfolio to some extend.
My changes :

  1. Changed the Bg color (Added a gradient).
  2. Added a Heading.
  3. Added a Subheading.
  4. Added a Hint.
  5. Styled using Tailwind CSS.

I hope this will get approved for Hacktoberfest 2023!

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.