This is a repository dedicated to maintaining and showcasing my personal resume in a JSON-based format. Additionally, a web-friendly version is available for public viewing.
To set up the development environment for this project:
-
Clone the repository:
git clone https://github.com/davidNHK/resume.json.git cd resume.json
-
Run the setup script:
bash ./scripts/setup.sh
-
Start the development server:
npx vite dev
- Node.js (Refer to the
.nvmrc
file for the preferred version.) - npm (Package manager used in this project.)
- TailwindCSS, PostCSS (for styling and utilities.)
Note: Ensure node_modules
are installed by running npm install
if the setup script does not handle this.
Explore the web version of my resume here:
- JSON-based resume format.
- Modular and reusable web components.
- TailwindCSS integration.
- Continuous Deployment to GitHub Pages via actions.
This project uses the following technologies and tools:
- Frontend Framework: Vite
- Styling: TailwindCSS
- Testing: Vitest
- Web Components: Custom Elements for reusable components.
- Continuous Integration and Deployment: GitHub Actions (
deploy-gh-page.yml
) - Linting and Formatting:
- ESLint with custom configurations (
@busybox/eslint-*
) - Prettier with a shared config (
@busybox/prettier-config
)
- ESLint with custom configurations (
- Version Control Hooks: Husky and lint-staged for pre-commit checks.
Below, I've defined my skill levels across various categories:
- Master: I can confidently work on features independently, follow best practices, and avoid reliance on extensive online research.
- Intermediate: I can work independently with some online research but require a code review by an experienced teammate.
- Master: I can set up optimized configurations, integrate components, and deploy them to production.
- Intermediate: I can handle code integration and basic development environment setup.
- Master: I understand best practices, security measures, and performance tuning for the protocol.
- Intermediate: I can integrate the protocol and understand its mechanics.
- Master: I have theoretical understanding paired with real-world execution experience. I can conduct technical discussions with teammates effectively.
- Intermediate: I have practical experience along with a strong theoretical foundation.
Here's an overview of the directory structure for better understanding:
resume.json
├── .github # GitHub-related configurations (e.g., workflows)
├── web-components # Custom web components
├── node_modules # Dependencies managed by npm
├── public # Static assets
├── scripts # Helper scripts for the project
├── dist # Production-ready output (built files)
├── README.md # Documentation for the project
├── package.json # NPM package file with dependencies
└── vite.config.js # Vite configuration file
Contributions are welcome! To contribute:
- Fork the repository.
- Create a feature branch:
git checkout -b GH-[issue_id]_my-feature
- Commit your changes with meaningful messages.
- Push your branch and submit a Pull Request.
Ensure that your changes pass tests (bash ./scripts/test.sh
).
This repository is licensed under the MIT License.
Thank you for visiting! 😊