Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

ToothlessOS/SimChecklists

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
28 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SimChecklists / 愛乃ちゃん's EFB Project

The elegant & optimized checklist solution for flight simulation. Built with React.

-> Official Deployment <-

Sample

Setup

  1. Clone the repository:

    git clone https://github.com/ToothlessOS/SimChecklists.git
    cd SimChecklists/SimChecklists # Where the project.json file is located
  2. Install dependencies:

    npm install
  3. Start the development server:

    npm run dev

Contributing

You can easily contribute more checklists to the project with the following steps:

  1. Create a new AircraftNameChecklist.ts file in the src/checklists directory. The file should look like this:
import { Checklist } from "../types/checklist";
const C172Checklist: ChecklistData = {
    ...
};
export default C172Checklist;

where ChecklistData should be structured as follows (You may also refer to C172Checklist.ts as an example):

(TIPS: Consider using a LLM to generate the checklist data structure from existing checklist documents!)

export type CheckItem = {
  id: string;
  action: string; // Action to perform
  expected: string; // Expected state
  note?: string; // Additional note for the checklist item; Displayed in smaller font under the item
  section?: string;
  highlight?: boolean; // Display the item red
};

export type CheckNote = {
  id: string;
  description: string; // Note description
  section?: string;
  subsection?: string;
  highlight?: boolean; // Display the note in red
};

export type CheckContent = (CheckItem | CheckNote)[]; // Two types of entries are available: Item and Note

export type ChecklistData = Record<
  string,
  { content: CheckContent; color: string }
>; // KEY: Checklist Section Name; VALUE: {content: CheckContent, color: string (tailwind css color class, i.e. bg-green-500)}
  1. Add your checklist page in src/pages/AircraftName.tsx, and add it to React Router in src/App.tsx:
// AircraftName.tsx
import "bootstrap/dist/css/bootstrap.min.css";
import type { ReactNode } from "react";
import NavbarComp from "../components/NavbarComp";
import Checklist from "../components/Checklist";
import type { ChecklistData } from "../components/types";
import AircraftNameChecklist from "../checklists/AircraftNameChecklist.ts";
import entriesAvail from "../checklists/available";
import NavFloat from "../components/NavFloat";
import SketchPad from "../components/SketchPad";

function AircraftIdentifier(): ReactNode {
  const content = Checklist as ChecklistData;

  return (
    <>
      <NavbarComp entries={entriesAvail} />
      <br />
      <h1 className="text-xl font-bold text-center">The title of the checklist</h1>
      <NavFloat content={content} />
      <SketchPad />
      <div>
        <Checklist content={content} />
      </div>
    </>
  );
}

export default AircraftIdentifier;
// App.tsx
import AircraftNameChecklist from "./checklists/AircraftNameChecklist";

...

function App() {
  return (
    // Handling frontend routing with React Router
    <Routes>
      <Route path="/" element={<Home />} />
      <Route path="/ref" element={<References />} />
      <Route path="/C172" element={<C172 />} />
      <Route path="/AircraftName" element={<AircraftNameChecklist />} />
      ...
    </Routes>
  );
}
...
  1. Add the link to you checklist page to ./checklists/available.ts to render it on the navigation bar:
const entriesAvail = {
    C172: "/C172",
    AircraftName: "/AircraftName",
    ...
};
  1. To uphold academic integrity, please add source of checklist in ./checklists/bib.ts:
const bib = {
    "C172": "https://eastcoastaeroclub.com/wp-content/uploads/2025/08/C172S-Skyhawk-Checklist_04-August-2025.pdf"
    "AircraftName": "SOURCE_URL_HERE",
    ...
}
  1. Commit and push your changes. Create a pull request to the main repository for review.

  2. After approval, your checklist will be merged into the main project and deployed to the official site with CI/CD pipelines!

About

The elegant & optimized checklist solution for flight simulation. Built with React.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.