www
is a sophisticated frontend application designed specifically for hosting my CV online. Built with Next.js, it incorporates the latest web development practices to ensure top-notch performance, scalability, and SEO capabilities. The site, accessible at michalzajac.dev, leverages GraphQL for efficient data management, React for dynamic user interfaces, and Tailwind CSS for intuitive and responsive design. This project aims to provide a comprehensive overview of my professional background, skills, and projects in a clean, accessible format.
Before you start, ensure you have the following installed:
- Node.js (recommended version as specified in
.nvmrc
). - npm (or yarn if you prefer, though npm commands are provided).
To get the project up and running on your local machine, follow these steps:
- Clone the repository:
git clone https://github.com/Michal99Zajac/www.git
- Navigate to the project directory:
cd www
- Install dependencies:
npm install
To build the project for production, run:
npm run build
This command compiles your application and optimizes it for performance. The build artifacts will be stored in the .next/
directory.
-
Development Mode: Start the development server with hot reload at
localhost:3000
:npm run dev
-
Production Mode: After building the project, start the Next.js application in production mode with:
npm start
This project enforces code style and quality through several tools:
- ESLint for JavaScript and TypeScript linting, configured in
.eslintrc.json
. - Prettier for code formatting, with settings in
.prettierrc
. - Stylelint for CSS styling rules, configured in
.stylelintrc
. - lint-staged and Husky for pre-commit hooks to ensure code and commit message quality.
To generate TypeScript types for GraphQL queries and mutations, run:
npm run generate:gql
This ensures type safety and seamless integration with Apollo Client.
This project is open source and available under the MIT License.