This page was built with Next.js, Typescript, TailwindCSS, & Twin.Macro. It was bootstrapped with create-next-app.
Build setup:
yarn
yarn devOpen http://localhost:3000 with your browser to see the result.
┣ components
┣ pages
┃ ┣ project
┃ ┃ ┗ singleProject.tsx
┃ ┣ _app.tsx
┃ ┣ _document.tsx
┃ ┗ index.tsx
┣ public
┣ sections
┃ ┣ about
┃ ┣ footer
┃ ┣ navigation
┃ ┗ projects
┣ styles
┗ utils
-
components: reusable UI or functional components are defined here and reused accross the project as needed. -
pages: NextJS config files are prefixed with an underscore i.e_document.tsx. It also contains other user-defined pages whose names and folder structure correspond to specific page routes. The structure would resemble the following:pages ┣ project ┃ ┗ [slug].tsx ┗ _app.tsx -
public: contain static assets i.e images, logo etc. -
sections: Stateless UI sections. The pages are broken up into sections which may contain as many low level components as needed. Each section would have a folder in which the.tsxfile and the.styled.tsfile would be, encapsulating the styles needed for that specific UI section. The folder structure is as follows:about ┣ About.tsx ┗ About.styled.ts -
styles: contains files for global and specific page styles: -
utils: reusable utility functions
NOTE: Both the sections & components directories have a file called index.ts that allows exporting the content of same directory to other root level directories using absolute imports.
