Machete is a web application that manages a day labor referral service. Machete tracks work orders for employers looking for short term, casual labor. It also provides a means for matching laborers with specific skills to requests made by employers for skilled labor.
Machete performs the following tasks:
- Stores basic contact information for all persons associated with the Machete system
- Stores biographical and membership information on its members
- Records member sign-in using a identification number through either a bar code scanner or the keyboard
- Captures employer, work order, and work assignment details into a relational database
- Provides a fast, flexible method of dispatching workers to work orders based on English level, skill level, and employer requests.
This README is mostly for software developers. If you would like to know more about Machete or are interested in a demo, please contact chaim@ndlon.org.
☮️ 💟 🍁
To get started developing with Machete, you will need a few things. Currently we are pretty much all developing on Mac
OS X, but as this is a dotnet core
project, you can pretty much develop on any platform. First, go ahead and make a
fork of this repo; we only accept internal pull requests from our contributors, but you can submit a request from your
own fork any time you like and we will review it. You can clone your repo using your own credentials.
We recommend using Visual Studio Code as your primary editing tool. It is easy
to learn and to configure, and it plays incredibly well with dotnet core
and other cross-platform applications.
You will also need Docker. Keep in mind that different platforms have different levels of support for the Docker engine. Depending on your platform, Docker may be running inside a VM with very little filesystem access. You probably won't need to worry about this unless you become more involved with the project.
Finally, you will need the dotnet
CLI.
Great, now you should be good to go!
☕️ 💻 🐈
There are a few setup scripts that can help get you up and running. These scripts are experimental and any problems or inquiries should be directed to the email above.
./Machete.Util/sh/initial-setup.sh
This will create a Docker network for you, machete-bridge
, and attempt to create a database using the next script.
./Machete.Util/sh/new-db-use-with-caution.sh
Aptly named, this file will dispose of whatever database container you have running (as long as you have the environment
variable for it set, which the script does), and create an entirely new database container.
./Machete.Util/sh/run-machete1.sh
This script runs the Machete.Web.dll binary inside a container behind an NginX proxy. Not really needed for development.
🎺 💃 🇲🇽
Download DataGrip. It has a 30 day evaluation period, but is not free software.
⌘-;
will configure a data source, if you have one defined; ⌘-↵
is execute query, NOT F5
if you don't you'll need the drivers for your data source. it will prompt you in the config window. right click on the area to the left to add a data source.
1.14:
if prod: Create SSH tunnel
Host: localhost
Port: 1433
(or whatever you configure in the tunnel)
User: ask admins
Password: ask admins
Test Connection + Select Schemas from the middle tab
Select two databases using ⌘
to select multiple, then ⌘-D
will schema compare.