⚠️ WARNING: Not production ready code, instead a Code Kata intended to
hone my programming skills through practice and repetition.
Tool for developers to scrutinise web application information architectures.
Getting Started
Prepare
Begin by installing Go if you have not done so already.
You can test your install by calling the following command:
go version
Your version must be greater than or equal to the version defined in ./go.mod
file.
Install, Verify, and Build
Install, verify, and build ./scrutinise
binary.
nvm use && make
Scrutinise a URL
./scrutinise -url https://danieltedman.com
You will see output like the following:
{"level":"debug","msg":"checking: https://danieltedman.com//","time":"2022-01-17T21:52:15+10:00"}
{"level":"debug","msg":"checking: https://danieltedman.com/mailto:dbtedman@gmail.com","time":"2022-01-17T21:52:15+10:00"}
{"level":"debug","msg":"checking: http://gohugo.io","time":"2022-01-17T21:52:16+10:00"}
{"level":"debug","msg":"checking: https://danieltedman.com/my-work","time":"2022-01-17T21:52:16+10:00"}
{"level":"debug","msg":"checking: https://themes.gohugo.io/hugo-theme-hello-friend-ng/","time":"2022-01-17T21:52:16+10:00"}
{"level":"debug","msg":"checking: https://www.linkedin.com/in/dbtedman","time":"2022-01-17T21:52:16+10:00"}
{"level":"debug","msg":"checking: https://github.com/dbtedman","time":"2022-01-17T21:52:16+10:00"}
{"level":"info","msg":"Results written to file \"results.csv\"","time":"2022-01-17T21:52:17+10:00"}
The results are written to the file results.csv
.
Help
Learn about the available commands in the help menu.
./scrutinise --help
Verification
Linting
make lint
These rules can then be automatically applied:
make format
Unit Testing
make test
Design
Repository Structure
Directory |
Purpose |
./.github/workflows |
GitHub Actions workflow definitions. |
./cmd/scrutinise |
CLI implementation, including main.go . |
./internal/domain |
Application domain, isolated from external resources. |
./internal/gateway |
Encapsulated access to resources external from the applicaiton domain. |
./spa |
Web user interface implementation. |
Security
See the Security Policy.
References
Placeholder
License
The MIT License is used by this project.