Project Folder Structure

Full Overview of ProtonStack Project Structure


Project Folder Structure

ProtonStack follows a well-organized folder structure to enhance maintainability and scalability. Here's an overview of the project structure:

    .
    ├── __tests__
    ├── components.json
    ├── content
    │   ├── authors
    │   ├── blog
    │   └── docs
    ├── cypress
    │   ├── e2e
    │   ├── fixtures
    │   ├── support
    │   └── tsconfig.json
    ├── prisma
    ├── public
    │   ├── images
    ├── src
    │   ├── app
    │   │   ├── auth
    │   │   ├── dashboard
    │   │   ├── docs
    │   │   └── marketing
    │   ├── components
    │   ├── config
    │   ├── hooks
    │   ├── lib
    │   ├── middleware.ts
    │   ├── styles
    │   └── types
    ├── .env
    ├── .gitignore
    ├── .lint-staged.config.js
    ├── cypress.config.ts
    ├── jest.config.js
    ├── jest.setup.ts
    ├── next-env.d.ts
    ├── next.config.js
    ├── package.json
    ├── postcss.config.js
    ├── tailwind.config.js
    ├── tsconfig.json
    └── yarn.lock

Key Directories

tests

Contains test files for unit and integration testing.

components.json

A configuration file for components in the project.

content

Holds content data, such as blog posts and documentation. Organized by content type (authors, blog, docs).

cypress

Configuration and tests for end-to-end testing using Cypress.

prisma

Contains Prisma ORM schema for database interactions.

public

Publicly accessible files, including images.

src

Main source code directory.

  • app: Application-specific code organized by features (auth, dashboard, docs, marketing).
  • components: Reusable React components.
  • config: Configuration files.
  • hooks: Custom React hooks.
  • lib: Utility functions and external library integrations.
  • middleware.ts: Middleware logic for the application.
  • styles: Stylesheets.
  • types: TypeScript type definitions.

Other Files

  • .env: Environment variables file.
  • .gitignore: Gitignore file for specifying ignored files and directories.
  • cypress.config.ts: Cypress configuration file.
  • jest.config.js: Jest testing framework configuration.
  • jest.setup.ts: Jest setup file.
  • next-env.d.ts: TypeScript declaration file for Next.js.
  • next.config.js: Next.js configuration file.
  • package.json: Node.js package configuration file.
  • postcss.config.js: PostCSS configuration file.
  • tailwind.config.js: Tailwind CSS configuration file.
  • tsconfig.json: TypeScript configuration file.
  • yarn.lock: Yarn package lock file.