This partial application was created to present to a technical team for review.
Some features of the software;- Filter and sort the list of jobs
- View a jobs details and add/edit notes for selected job
- Change the status of a job
The application is a standalone demo requiring no additional WAMP/LAMP dependencies. It has been built and tested on Windows, standalone Ubuntu Linux and WSL:Ubuntu. If the application requires rebuilding, there are two batch files provided. The rebuild assumes there is an existing Go installation on the host computer. The provided batch files will download the required 3rd party packages for the build process.
This application uses the Go programming language - where the latest was Go 1.21 as of writing this application. If you do not have Go installed on your system, you can acquire a copy from Go.dev. The go1.21.0.windows-amd64.msi was used to build this application.
To run the server on your Windows system:
- Run
buildpkg.cmd
in the jobs.tradie.pg folder to build the binary (jobs.tradie.pg
) using non vendored packages - Run
buildvendor.cmd
in the jobs.tradie.pg folder to build the binary (jobs.tradie.pg
) with the vendor - Run the binary
jobs.tradie.pg.exe
- Browse to http://localhost (the port can be change in the code of 80 is not working) to test the application out.
Testing has been performed on WSL & Linux but not MacOS. However, the commands in buildpkg.cmd and buildvendor.cmd can be run manually to build and run this demo.
export GO111MODULE="on"
export GOFLAGS="-mod=mod"
go mod download
:: strip debug info during build
go build -ldflags="-s -w" .
export GO111MODULE="on"
export GOFLAGS="-mod=vendor"
go mod vendor
:: strip debug info during build
go build -ldflags="-s -w"
The application uses the following Go packages to build;
This version application requires a separate database to function - PostgreSQL. A JSON file is imported from the local folder. This will be imported when the application is run for the first time. Thereafter the application will use the database each time it is executed.