Giter Club home page Giter Club logo

portfolio's Introduction

Portfolio

Netlify Status

Getting started

Portfolio was bootstrapped with Next.js. Please, read the docs to get up to speed with how pages, routing, server-side functions and more works.

Run development environment

yarn dev or npm run dev - starts the development environment with auto reloading and all that good stuff. Open http://localhost:3000 to view it in the browser.

Scripts

Besides the development script, there are many more scripts set up:

  • build - Creates build
  • export - Creates export
  • deploy - Creates build and export
  • generate - Starts interactive CLI tool to generate a component or utility with everything that is needed
  • storybook - Starts the development environment for storybook
  • storybook:build - Builds the storybook for production to be hosted by you
  • test - Runs the Jest and Enzyme test suite
  • test:watch - Runs the Jest and Enzyme test suite in watch mode
  • test:coverage - Runs the Jest and Enzyme test suite and shows test coverage
  • eslint - Runs ESLint for all TypeScript files
  • stylelint - Runs Stylelint for all SCSS files

Tech stack

Next.js

Portfolio uses Next.js to

  • provide SSR and SSG React.js. Pages are automatically optimised to deliver the best experience.
  • handle routing
  • generate builds
  • and more

TypeScript

Portfolio used TypeScript for static checking and documentation. You can view the Typescript config in ./tsconfig.json.

Jest and Enzyme

Portfolio uses Jest and Enzyme as the testing suite. All tests can be found in the component and utilities folders with .test. postfix. As you may notice, we don't import Jest and Enzyme in the test files. Some things are setup in config/tests. Next to that, mock content and components can be found in config/tests/mocks.

Storybook

Portfolio uses Storybook for showcasing components. Storybook has its own webpack configuration. You can find this configuration in .storybook/webpack.config.js together with all other Storybook specific items.

Husky, ESLint, StyleLint and LintStaged

Portfolio uses Husky to automatically run ESLint, Stylelint, LintStaged and the test suite for every commit. This is done by using the precommit script found in package.json. Never run --no-verify as you don't want to ignore these settings. If you have an issue with the config, please update the config file of that linter accordingly.

Netflify (CI/CD)

Portfolio uses Netlify (♥️) to build, deploy and optimise. Every push to the master branch will trigger the deploy pipeline.

Netlify CMS

Portfolio uses Netlify CMS. All content is stored as MarkDown in content/ and directly loaded throughout the application. You can alter the content here and make a new deploy to have it relfect on the live site. The data structure configuration can be found in ./public/admin/config.yml. The GUI can be accessed at /admin/index.html on both the local and live version. Netlify Identity Service is used to authenticate.

portfolio's People

Contributors

davebitter 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.