Logo Lanfrica

skylla-connect/skylla-learning-community

Domain:

education

Record type:

project
Creator:
sky
Host:
Scale up of the code quality standard across African young developers and make a meaningful impact on helping young people to learn coding 24/7 anywhere in Africa. # skylla-learning-community Scale up the code quality standard across African young developers and make a meaningful impact on helping young people to learn coding 24/7 anywhere in Africa. Folder Structure ================ Please note ------------ Typically we will follow this folder structure to guide us. Motivations ----------- - Clear feature ownership - Module usage predictibility (refactoring, maintainence, you know what's shared, what's not, prevents accidental regressions, avoids huge directories of not-actually-reusable modules, etc) - CI runs only the tests that matter (future) - Code splitting (future) How it works ------------ The file structure maps directly to the route hierarchy, which maps directly to the UI hierarchy. It's inverted from the model that we've used in other systems. If we consider all folders being either a "generic" or a "feature" folder, we only have one "feature" folder but many "generic" folders. Examples of "feature" folders: server - static - index.py client - Admin - Users - Live support Examples of "generic" folders: - components - helpers - stores - actions Given this route config: ```js var routes = ( ); ``` We would now set up our directories like this: ``` server ├── static | ├── static | └── asset-manifest.json | └── index.html | └── manifest.json | └── service-worker.js | ... etc. └── index.py /dashboards/{userid & pwd} { roles: { alice: "admin", bob: "trainer", david: "trainee", // ... } } We can access the user's Dashboards using userid and password: /dashboards/{userid}/ ``` ``` client └── src └── App └── screens ├── Admin │ └── Dashboard │ ├── Reports │ └── Users | └── Interviews | └── Hire | └── Announcements └── Module | └── screens | └── Assessments | └── Quiz & Tests | └── Sessions | └── Class └── Support | └── screens | └── General | └── Product & Services | └── Purchase | └── Code & Debug └ …

Licenses