The easiest way is to use svn mv
to move things around:
$ svn mv --parents $URL/repos/App1/trunk/module1 $URL/repos/trunk/App1/module1
This will move your repositories to a new structure, and you will still have your history. When moving entire projects around, you'll have to coordinate with the users of the repository. Make sure the users know what's going on. In fact, the coordination is usually the biggest issue with these moves.
The problem with svnadmin dump
and svnadmin load
is that it what you can move around is limited. The directory structure of the old projects are preserved even if you move them to a new node. Since a Subversion repository is one big giant project, and you can officially commit a change that touches multiple branches, trunk, and projects at the same time, Subversion insists on keeping it's structure. You maybe able to move something to a new root node, but you can't really edit the structure beyond that.