Check Quaddicted[1] for some singleplayer maps. The most common engine by far is Quakespasm[2] which keeps the original style but fixes bugs, reintroduces some features from the software renderer that were lost in the original OpenGL version (fullbrights, lightmaps that go above 100%, non-power-of-two textures, etc) and removes and raises some hardcoded limits. You probably also want QuakeInjector[3], which is a "quake mod installer" that handles dependencies. You may also want MiniQL[4] (made by me) as a more straightforward and minimalistic launcher (you can also launch QuakeInjector from MiniQL if it is installed in the same directory).
This is all you need for playing maps and mods. For making maps (the most common type of mod) you'll also need a map editor - currently the most common seems to be Tenchbroom[5], but it is far from the only option and a lot of people use other editors, such as BSP[6], QuArK[7], GtkRadiant[8] and some people even use either the original Worldcraft 1.3 (i think) or a modded Hammer (from Valve) to make maps. I think some also use J.A.C.K.[9], which is basically a Hammer clone, although i think it is abandoned now.
The map editor isn't enough, you also need the command line tools to "compile" the map (this is how the Quake engine can support multiple and different editors: by decoupling the tools from the engine and the individual types of tools from each other - which to me is one of the best ways to architect and engine and its tools, but sadly most popular engines have forgotten it). There are several variations, depending on the features you want. But i think these days most people are using ericw's tools[10] since they support some advanced features from modified engines (like the BSP2 format for larger maps and colored lightmaps).
Beyond mapping, if you want to delve in QuakeC (the game's scripting language) you need the original QuakeC source code[11] and a QuakeC compiler - while you can probably use the original QCC, i've seen FTEQCC[12] from the FTE engine to be mentioned way more often. Some tutorials can be found here [13] (the Inside3D site which was a sort of 'nexus' for QuakeC modders was shut down some time ago and while the community create InsideQC[14] it looks like not everything survived the transition).
[1] https://www.quaddicted.com/
[2] http://quakespasm.sourceforge.net/download.htm
[3] https://www.quaddicted.com/tools/quake_injector
[4] http://runtimeterror.com/rep/miniql
[5] http://kristianduske.com/trenchbroom/
[6] http://www.bspquakeeditor.com/
[7] http://quark.sourceforge.net/
[8] http://icculus.org/gtkradiant/
[9] http://jack.hlfx.ru/en/
[10] https://ericwa.github.io/ericw-tools/
[11] https://www.doomworld.com/idgames/idstuff/unsup/progs106
[12] https://sourceforge.net/projects/fteqw/files/FTEQCC/
[13] https://web.archive.org/web/20120526014134/http://www.inside...
[14] http://www.insideqc.com/