Skip to content

Latest commit

 

History

History
136 lines (96 loc) · 7.46 KB

README.md

File metadata and controls

136 lines (96 loc) · 7.46 KB

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.