From c1cbd0b0d7a67a4e5c81262279dec85e4b76dc71 Mon Sep 17 00:00:00 2001 From: michivonah Date: Sat, 12 Apr 2025 21:31:14 +0200 Subject: [PATCH] add first things to docs --- README.md | 66 +++++++++++++++++++++++- docs/installation/empty_next_js_app.jpg | Bin 0 -> 60077 bytes 2 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 docs/installation/empty_next_js_app.jpg diff --git a/README.md b/README.md index 045a439..3834903 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,64 @@ -# nextjs -A place for me to learn nextjs +# Next.js +A place for me to learn Next.js + +Official Next.js docs: https://nextjs.org/docs/app/getting-started/installation + +Next.js is developed & maintained by Vercel + +## Installation (macOS) +Requirements: +- Homebrew already installed + +Install nodejs +```zsh +brew install node@22 +``` + +Check node version +```zsh +node -v +``` + +Check NPM version +```zsh +npm -v +``` + +If you get some errors: +```zsh +brew cleanup +``` + +Then try again + +## Create new project +```zsh +npx create-next-app@latest +``` + +Afterwards some questions about the project will be asked. +You can leave the settings as default. + +## Run development server +```zsh +npm run dev +``` + +Afterwards the site can be accessed in the browser at `http://localhost:3000`. +![New Next.js project](./docs/installation/empty_next_js_app.jpg) + + +## General structure +The whole app is organzied in multiple folders. THe typescript files for the app are stored in `src/app`. + +The code is written in TypeScript. + +In `package.json` are the dependencies saved. The Next.js configuration is saved in `next.config.ts`. + +Each folder in `app` represents a route of the application, but its only accessable when a `page.js` or `route.js` file is contained. + +When a folder is named with `_` as prefix, it will be ignored by the routing and not accessable from within the application. + +Folders in parenthesis (Klammern) while not be show in the route. (https://nextjs.org/docs/app/getting-started/project-structure#organize-routes-without-affecting-the-url-path) + +Slugs can be defined by creating a folder in brackets [] like [slug]. \ No newline at end of file diff --git a/docs/installation/empty_next_js_app.jpg b/docs/installation/empty_next_js_app.jpg new file mode 100644 index 0000000000000000000000000000000000000000..622a59c9533f5943fee5737365b45e37558dc6a9 GIT binary patch literal 60077 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 literal 0 HcmV?d00001