# Folder structure and organization

#### Let's talk about what's inside the downloaded package.

Ciseco is a Next.js project, built on Next.js 15 - App router, so it is built and follows the structure of Next.js. For a better view, please check the Next.js tutorial here - <https://nextjs.org/docs/app/getting-started/project-structure>

## Top-level folders <a href="#top-level-folders" id="top-level-folders"></a>

Top-level folders are used to organize your application's code and static assets.

<figure><img src="https://nextjs.org/_next/image?url=https%3A%2F%2Fh8DxKfmAPhn8O0p3.public.blob.vercel-storage.com%2Fdocs%2Flight%2Ftop-level-folders.png&#x26;w=3840&#x26;q=75" alt="Route segments to path segments"><figcaption></figcaption></figure>

|                                                                                      |                                    |
| ------------------------------------------------------------------------------------ | ---------------------------------- |
| [`app`](https://nextjs.org/docs/app/building-your-application/routing)               | App Router                         |
| [`pages`](https://nextjs.org/docs/pages/building-your-application/routing)           | Pages Router                       |
| [`public`](https://nextjs.org/docs/app/api-reference/file-conventions/public-folder) | Static assets to be served         |
| [`src`](https://nextjs.org/docs/app/api-reference/file-conventions/src-folder)       | Optional application source folder |

### Top-level files <a href="#top-level-files" id="top-level-files"></a>

Top-level files are used to configure your application, manage dependencies, run middleware, integrate monitoring tools, and define environment variables.

|                                                                                                |                                         |
| ---------------------------------------------------------------------------------------------- | --------------------------------------- |
| **Next.js**                                                                                    |                                         |
| [`next.config.js`](https://nextjs.org/docs/app/api-reference/config/next-config-js)            | Configuration file for Next.js          |
| [`package.json`](https://nextjs.org/docs/app/getting-started/installation#manual-installation) | Project dependencies and scripts        |
| [`instrumentation.ts`](https://nextjs.org/docs/app/guides/instrumentation)                     | OpenTelemetry and Instrumentation file  |
| [`middleware.ts`](https://nextjs.org/docs/app/building-your-application/routing/middleware)    | Next.js request middleware              |
| [`.env`](https://nextjs.org/docs/app/guides/environment-variables)                             | Environment variables                   |
| [`.env.local`](https://nextjs.org/docs/app/guides/environment-variables)                       | Local environment variables             |
| [`.env.production`](https://nextjs.org/docs/app/guides/environment-variables)                  | Production environment variables        |
| [`.env.development`](https://nextjs.org/docs/app/guides/environment-variables)                 | Development environment variables       |
| [`.eslintrc.json`](https://nextjs.org/docs/app/api-reference/config/eslint)                    | Configuration file for ESLint           |
| `.gitignore`                                                                                   | Git files and folders to ignore         |
| `next-env.d.ts`                                                                                | TypeScript declaration file for Next.js |
| `tsconfig.json`                                                                                | Configuration file for TypeScript       |
| `jsconfig.json`                                                                                | Configuration file for JavaScript       |
