I’m currently working on a project for assessing web pages and web sites, but I would like some advice on packaging the project (in particular setting up the folder structure, tests, and dependencies).
I’m building out a project that will assess the semantics, elements, and syntax of Web Design tasks. It will inspect and run tests on
CSS (I’ll probably add
JS once everything else is in place).
I’m wanting to develop a series of web design tasks (pretest, single web page, image gallery, 2-column layout, mobile-first layout, and posttest).
Each task will…
- use the same basic module for the Validator API calls and document parsing.
- use a base set of unit tests (for every task, like does it pass the validator)
- contain tests unique to the task at hand (like inspecting the
@mediaqueries for mobile first stylesheet, or specific tags used for the image gallery or layouts, etc.)
I currently have some proof of concept Python code that is able to:
- send an
HTMLfile to the W3C Validator API and receive a
JSONobject of error messages
- Parse an
HTMLFile by returning an array of opening tags, content, and ending tags in their order of appearance
I’m currently developing it as a Python project (in order to leverage Python’s many files for API calls and unit testing).
So here are my questions:
- should I develop one base project and the fork it for each task?
- should I bundle it all as one project with multiple folders: one for each task?
- If I bundle it all as one project, how should I package the tests so that they all rely on one base module and standard tests for every task and then include specialized tests?
I’m leaning towards the last option mainly because if I fork projects and then discover a bug in the base module (i.e. dependencies), then it becomes more work to push out the hotfix.