Git Product home page Git Product logo

zigbee-s / gitfolio Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 2.0 3.99 MB

This web-based application simplifies the creation of a professional Resume and Portfolio from GitHub profiles. Using a username, this application generates an attractive resume and portfolio. This application is deployed on the Napptive platform and uses OAM YAML files and microservices to ensure optimal performance and scalability

License: MIT License

JavaScript 20.45% EJS 71.45% Dockerfile 2.27% CSS 5.83%
docker githubapi microservices napptive nodejs oam

gitfolio's Introduction

gitFolio

Our web-based application is an innovative tool that makes it easy for GitHub users to create a professional Resume and Portfolio based on their GitHub profile. By simply entering their username, the application generates a visually appealing overview of their skills, achievements, and projects. Deployed on the Napptive platform, the application uses OAM YAML files and multiple microservices to ensure optimal performance and scalability.

  • Resume Service link:
  • Your portfolio link: /portfolio/ ID FROM RESUME

[ For example: https://portfolio-service-7000-cgnffcjh51taq9hpjhng.apps.hackathon.napptive.dev/portfolio/643bca173efcdd32a94a326c ]

Note:

Ensure that before deploying you provide YOUR_GITHUB_ACCESS_TOKEN in env configuration for resume-service component in yaml file

Docker images

  • mongodb: mongo:latest
  • db-service: gauraangs/db-service:latest
  • portfolio-service: gauraangs/portfolio-service:latest
  • resume-service: gauraangs/resume-service:latest

Services

resume-service

The resume-service is the central service of the application. Users can go to this service and provide their GitHub username to generate a Resume and Portfolio. This service is exposed to the outside world.

db-service

The db-service provides endpoints for performing CRUD operations on the MongoDB database, which is hosted as a separate container. This service is not accessible by the outside world but can only be accessed by the rest of the services.

MongoDB

The MongoDB is the database used by the dbService to store user data.

portfolio-service

The portfolio-service has an endpoint URL of /portfolio/id, which fetches data from the db-service and generates a portfolio for the user. This service is accessible by the external world.

Deployment

The application is deployed on the Napptive platform using OAM YAML files, which define the different microservices and their configurations. The services are deployed as separate containers, with the resume-service and portfolio-service being exposed to the outside world.

Depoyment steps on napptive

  1. Open napptive UI application
  2. Go to your environment
  3. Click on Deploy app button at the top left
  4. Select YAML file option
  5. Copy paste the text inside napptive/gitfolio.app.yaml file
  6. Edit your Github access token in env configuration for resume-service component
  7. Click on deploy, and follow steps

Deployment steps for Local Development

  1. Clone the repo
  2. Open The db-service, portfolio-sevice, resume-service directories in different terminals
  3. In the resume-service create a config.env file and add YOUR_GITHUB_ACESS_TOKEN
  4. In all he directories run
  npm install
  npm start

Representation

   +-----------------+       +----------------+       +---------------+
   |  External World |       |  ResumeService |       | Portfolio-Service |
   +-----------------+       +----------------+       +---------------+
            |                        |                         |
            |                        |                         |
            |    +----------+        |                         |
            +--->| GitHub   |        |                         |
                 |  API     |        |                         |
                 +----------+        |                         |
                                     |                         |
                                     |                         |
                                     |             +-----------+-----------+
                                     |             |        dbService        |
                                     |             +-----------+-----------+
                                     |                         |
                                     |                         |
                                     |             +-----------+-----------+
                                     |             |        MongoDB         |
                                     |             +-----------------------+
                                     |                                    
                                     +-------------------------------------+

Technologies Used

  • GitHub API
  • Node.js
  • Express
  • MongoDB
  • Napptive Platform
  • OAM YAML

Screenshots

r1

r2

r3

r4

r5

How to Use

  1. Go to the ResumeService URL.
  2. Provide your GitHub username and click on the Generate Resume button.
  3. The ResumeService will fetch data from the GitHub API and generate a Resume and Portfolio for you.
  4. Go to the Portfolio-Service URL with your generated resume ID in the URL.
  5. The Portfolio-Service will fetch data from the dbService and generate a Portfolio for you which is stored in your database.

How it Works

Our web application offers a seamless user experience that allows users to easily create a professional Resume and Portfolio based on their GitHub profile. To get started, users can click on the GitHub icon on the homepage and enter their GitHub username. From there, they can choose to generate either a resume or portfolio by clicking on the corresponding button.

Once the user generates their resume or portfolio, they can easily download the resume in PDF format or save it for future use. This feature ensures that users have quick and easy access to their professional documents.

In addition to generating resumes and portfolios, our web application also includes a "Check Others" feature. This feature allows users to view the saved resumes and portfolios of other users by clicking on the resume or portfolio icon of the desired person. This feature promotes collaboration and networking, as users can easily connect with other professionals in their field.

Overall, our web application provides users with a convenient and efficient way to showcase their skills and accomplishments to potential employers, while also fostering connections and collaboration within the community.

Conclusion

In conclusion, the gitFolio is a powerful tool that offers an efficient and convenient way for GitHub users to showcase their skills and accomplishments. The web-based application is designed with a user-friendly interface that allows users to generate their professional documents with just a few clicks.

With the application deployed on the Napptive platform using OAM YAML files, it ensures optimal performance and scalability of the different microservices. The use of microservices ensures that each function of the application is handled by a dedicated service, making the application efficient and easy to manage.

Overall, the gitFolio is a valuable resource for anyone looking to highlight their skills and achievements in a professional setting. With its user-friendly interface and efficient performance, the application is a great tool for job seekers, freelancers, and other professionals looking to enhance their online presence.

gitfolio's People

Contributors

coder12git avatar zigbee-s avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

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.