It would also be nice to be able to plug in a MIDI keyboard seeing as I have one.
contrary to other beliefs... you can only plug a MIDI keyboard directly in to your computer if the keyboard has a firewire or USB output and you have those on your computer. if it is a keyboard that just has MIDI outs then it will depend on your soundcard/mixer interface and its input output options... or you can chain it to another device that fits the criteria necessary to connect to your PC regarding ins/outs.
what model is it?
in terms of a good interface that's affordable i use one of these:http://www.tcelectronic.com/desktop-konnekt-6/
it's a few years old now so you can pick one up fairly cheap. i am not a DJ though. i play bass and do vocals.
in a nut shell you need to be careful what you buy because you need to have the correct inputs and outputs for what you want to do. if not, you will end up wanting to upgrade sooner rather than later.
for example if you want to record vocals it would be preferable to have an XLR input for the microphone that has phantom power.
another example... you mentioned DJ... this could mean you need some RCA inputs.
be more specific about what you currently have and it will be easier for posters to suggest alternatives.
what type of mixer are you using with your tables? it's possible that you already have everything you need right there.