Skip to content

ChoiceOMG/choice-bootstrap

Repository files navigation

Choice-bootstrap

CHOICEOMG

Project Structure

    your-amazing-app/
    ├── src/                           # Main source directory for all the application code
    │   ├── __tests__/                 # Contains all the test files for the application components and logic
    │   │   ├── ComponentA.test.js     # Tests for ComponentA
    │   │   ├── ComponentB.test.js     # Tests for ComponentB
    │   │   └── ComponentC.test.js     # Tests for ComponentC
    │   ├── actions/                   # Redux or any state management actions and action creators
    │   │   ├── auth.ts                # Authentication related actions
    │   │   ├── search.ts              # Search functionality actions
    │   │   └── order.ts               # Actions related to order processing
    │   ├── app/                       # Special directory for Next.js which may contain custom 'pages', 'api', and 'middleware'
    │   │   ├── (site)               # Client-side specific components and logic
    │   │   │   └── components/        # Components specific for the main client-side app
    │   │   │       ├── ComponentA/    # ComponentA definition and logic
    │   │   │       │   └── index.tsx  # Main file for ComponentA
    │   │   │       └── ButtonsA/      # Button variations specific to the client-side
    │   │   │   ├── layout.tsx         # The layout component used across client-side pages
    │   │   │   ├── page.tsx           # A generic page component template
    │   │   │   ├── error.tsx          # Error component for handling rendering errors
    │   │   │   ├── loading.tsx        # Loading component to show while data is fetched
    │   │   │   ├── not-found.tsx      # 404 not found component for unrecognized routes
    │   │   │   ├── api/               # API routes specific to the client-side
    │   │   │   │   └── apiroute/      # Example API route
    │   │   │   │       └── route.ts   # Logic for the API route
    │   │   │   └── someroute/         # Example of a client-side specific route
    │   │   │       ├── components/    # Components specific to the 'someroute' route
    │   │   │       │   ├── HeroSection.tsx  # Hero section for a page
    │   │   │       │   └── InfoSection.tsx  # Informational section component
    │   │   │       └── page.tsx       # Page file for 'someroute'
    │   │   └── (admin)                # Admin-side specific components and logic
    │   │       └── components/        # Components specific for the admin-side app
    │   │           ├── ComponentB/    # ComponentB definition and logic
    │   │           │   └── index.tsx  # Main file for ComponentB
    │   │           └── ButtonsB/      # Button variations specific to the admin-side
    │   │       ├── layout.tsx         # The layout component used across admin-side pages
    │   │       ├── page.tsx           # A generic page component template for admin
    │   │       ├── error.tsx          # Error component for admin side
    │   │       ├── loading.tsx        # Loading component for admin side
    │   │       ├── not-found.tsx      # 404 not found component for admin side routes
    │   │       ├── api/               # API routes specific to the admin side
    │   │       │   └── apiroute/      # Example API route for admin
    │   │       │       └── route.ts   # Logic for the API route
    │   │       └── someroute/         # Example of an admin-side specific route
    │   │           ├── components/    # Components specific to the 'someroute' route in admin
    │   │           │   ├── HeroSection.tsx  # Hero section for an admin page
    │   │           │   └── InfoSection.tsx  # Informational section component for admin
    │   │           └── page.tsx       # Page file for 'someroute' in admin
    │   ├── components/                # Global reusable components
    │   │   ├── UI/                    # UI component library
    │   │   │   └── Buttons/           # Button components
    │   │   │       ├── PrimaryButton/ # Primary button styling and logic
    │   │   │       │   └── index.tsx  # Main file for PrimaryButton
    │   │   │       └── SecondaryButton/  # Secondary button styling and logic
    │   │   │           └── index.tsx  # Main file for SecondaryButton
    │   │   ├── Header/                # Header component with navigation
    │   │   │   ├── Menu.tsx           # Menu component for the header
    │   │   │   └── index.ts           # Main file for Header component
    │   │   └── Footer/                # Footer component with additional links or info
    │   │       ├── Menu.tsx           # Menu component for the footer
    │   │       └── index.ts           # Main file for Footer component
    │   ├── db/                        # Database related files
    │   │   └── client.ts              # Database client setup
    │   ├── prisma/                   # Prisma files including schema and seed script
    │   │   ├── schema.prisma         # Prisma schema file defining your database models
    │   │   └── seed.ts               # Script to seed the database with initial data
    │   ├── hooks/                     # Custom React hooks
    │   │   └── useSomeHook.tsx        # Example of a custom hook
    │   ├── utils/                     # Utility functions and helpers
    │   │   ├── api-requests.ts        # API request functions
    │   │   └── ...                    # Other utility functions
    │   ├── services/                  # Service functions, e.g., for talking to an API or database
    │   │   └── someHelperFunction.ts  # Example helper function
    │   ├── store/                     # State management store, e.g., Redux or Zustand
    │   │   ├── useLayoutStore.ts      # Store hook for layout state
    │   │   └── useUserStore.ts        # Store hook for user state
    │   ├── styles/                    # Global styles and fonts
    │   │   ├── fonts/                 # Font files
    │   │   └── globals.scss           # Global SCSS styles
    │   └── types/                     # TypeScript types and interfaces
    │       └── ...                    # Type definitions
    ├── public/                        # Public folder for static files like images, favicon, etc.
    │   └── ...                        # Static assets
    ├── .env                           # Environment variables for all environments
    ├── .env.development               # Environment variables for development environment
    ├── .env.production                # Environment variables for production environment
    ├── .eslintrc.js                   # ESLint configuration for code linting rules
    ├── .gitignore                     # Specifies intentionally untracked files to ignore
    ├── .prettierrc                    # Prettier configuration for code formatting
    ├── next-env.d.ts                  # Next.js TypeScript declaration file
    ├── next.config.js                 # Next.js configuration file
    ├── package.json                   # NPM package file with dependencies and scripts
    ├── postcss.config.js              # PostCSS configuration for processing CSS
    ├── prettier.config.js             # Prettier configuration file for code formatting
    ├── tailwind.config.ts             # Tailwind CSS configuration
    ├── tsconfig.json                  # TypeScript configuration file
    ├── README.md                      # Project README for documentation
    └── Dockerfile                     # Dockerfile for container configuration

Development Guidelines

  1. Component Organization: Ensure that all components are organized as per the project structure mentioned above.
  2. Next.js 14: Adhere to all best practices and guidelines of Next.js 14. Make the most out of the server-side capabilities provided by Next.js 14.
  3. Code Contribution: If someone other than the main developer (IamCooller) wishes to contribute or modify the code, they should annotate their changes with a comment indicating their username, like so: @IamCooller.

Getting Started

To run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Resources

About

Starting a bootstrap configuration that will hold all docker image options and other deployment options

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors