Patrol Shift Scheduler Project 

├── frontend 

│   └── src 

│       ├── All of the Top-Level Frontend Code 

│       ├── api 

│       │   ├── Frontend interaction with the API 

│       │   ├── http 

│       │   │   └── HTTP Client for the Frontend 

│       │   ├── notes 

│       │   │   └── Note endpoint handler 

│       │   ├── positions 

│       │   │   └── Position endpoint handler 

│       │   ├── schedules 

│       │   │   └── Schedule endpoint handler 

│       │   ├── shifts 

│       │   │   └── Shift endpoint handler 

│       │   ├── skills 

│       │   │   └── Skill endpoint handler 

│       │   ├── time_slots 

│       │   │   ├── Time Slot endpoint handler 

│       │   │   └── daily_roster 

│       │   │       └── Daily Roster endpoint handler 

│       │   └── users 

│       │       ├── User endpoint handler 

│       │       ├── current 

│       │       │   └── Current User endpoint handler 

│       │       ├── forgot_password 

│       │       │   └── Forgot Password endpoint handler 

│       │       ├── login 

│       │       │   └── Login endpoint handler 

│       │       ├── logout 

│       │       │   └── Logout endpoint handler 

│       │       └── reset_password 

│       │           └── Reset Password endpoint handler 

│       ├── components 

│       │   └── All subcomponents used in the Frontend 

│       ├── pages 

│       │   ├── All Pages 

│       │   ├── positions 

│       │   │   └── Position related Pages 

│       │   ├── schedule 

│       │   │   └── Schedule related Pages 

│       │   ├── shifts 

│       │   │   └── Shift related Pages 

│       │   ├── skills 

│       │   │   └── Skill related Pages 

│       │   ├── timeslot 

│       │   │   └── Time Slot related Pages 

│       │   └── users 

│       │       └── User management related Pages 

│       ├── store 

│       │   ├── Redux Store related code 

│       │   ├── actions 

│       │   │   └── Redux Actions 

│       │   └── reducers 

│       │       └── Redux Reducers 

│       └── utils 

│           └── Utility functions 

└── server 

    ├── app 

    │   ├── Console 

    │   │   └── Dispatches Jobs 

    │   ├── Exceptions 

    │   │   └── Custom Exceptions and Exception handling 

    │   ├── Http 

    │   │   ├── Controllers 

    │   │   │   ├── Application Logic on Request 

    │   │   │   └── Traits 

    │   │   │       └── Controller Traits 

    │   │   ├── Middleware 

    │   │   │   └── Transforming the request & validating 

    │   │   └── Requests 

    │   │       └── Request validation 

    │   ├── Jobs 

    │   │   └── Jobs run every so often 

    │   ├── Mail 

    │   │   └── All the email related things 

    │   ├── Policies 

    │   │   └── Authorization 

    │   ├── Providers 

    │   │   └── Bootstrapping stuff 

    │   ├── Rules 

    │   │   └── Custom validations 

    │   └── Traits 

    │       └── Model Traits 

    ├── database 

    │   ├── factories 

    │   │   └── Create fake instances of classes for seeding 

    │   ├── migrations 

    │   │   └── Database Migrations 

    │   └── seeds 

    │       └── Database Seeding 

    ├── routes 

    │   └── API Endpoints and other HTTP Routes 

    └── tests 

        ├── Backend Tests 

        ├── Feature 

        │   └── Feature Tests 

        └── Unit 

            └── Unit Tests 