You're looking at 48 US gallons. I'm listing fish that can all be kept together (with a few exceptions where there is agression within the species, usually two males kept together or with similar looking fish). Your tank is nowhere near big enough to keep all of these fish together, but you'll have some options to choose from. I'd take one or two smaller species from the mid to top dwellers list with either gouramis, female bettas or larger livebearers, a group of either loaches or corydoras and possibly a small pleco for the bottom.
The only invertebrates I'd suggest keeping with community fish are algae shrimp,
petshrimp.com has some great info on different species. Avoid clawed shrimp (these will eat small and even not so small fish) and filter feeders (difficult to feed). Crabs and crayfish usually munch down on fish as well. If you go for algae shrimp, keep them only with small fish like small tetras, livebearers and maybe some cories. Gouramis and other larger fish may see them as a very expensive snack. I'll note on my list which fish are not likely shrimp safe.
Mid to top dwellers:
Many gouramis make wonderful colorful community fish, I'd avoid the dwarf gourami as they tend to be carriers of disease. Keep only one species, either a single male or a male with at least two females. As mentioned, some of these are likely to munch on algae shrimp though you may be safe with honey gouramis or similar sized species.
Female bettas are very colorful and interesting, but they can be agressive towards each other so I'd keep at least five females together to spread out the agression. They tend to ignore any other non-betta fish, just avoid male bettas as these have lots of compatibility issues. Generally speaking not algae shrimp safe.
Platies, swordtails and guppies are all livebearers that would be suitable for your tank, avoid mollies as they prefer brackish. Keep a ratio of at least two females to every male.
Tetras come in all sizes, but there are a great many small ones that do great in community tanks. Black skirts, neons, cardinals, rummynose, glowlights, lemons and lots of other similar species are commonly found. Just make sure that the one you pick stays small and don't get an exodon, those things are vicious. Most tetras commonly sold are perfect for community tanks so you shouldn't have too much trouble, keep them in groups of at least 5 as they are schooling fish.
Rasboras and danios are in the same boat as tetras, most of these are great little schooling fish and they're very easy to find. Again, groups of five or more.
Bottom dwellers:
Corydoras have already been mentioned, there are all sorts of options and they get along with just about everything. Keep them in a group of at least five as they're very social and provide them with lots of hiding spaces (looks like you already have). Corys prefer a sand substrate as do most bottom dwellers, but they'll do alright in gravel.
Loaches are my all time favorite fish, so I'm a bit biased towards them. Most of them are very shy and need to be kept in group of at least three (the more the merrier) with plenty of hiding spaces. They're very active and love to play in current, though bottom feeders they do swim around in the middle of the tank and will jump out if the tank isn't covered. You could go with a group of smaller botias like the zebra, zipper or dwarf chain loach. A couple of others to keep an eye out for are the hillstream or butterfly loaches, they're a sucking loach that requires lots of aeration, and kuhli loaches, a small eel like loach that requires lots of friends a sandy substrate since it digs. Several species, including the commonly sold clown loach, get huge so watch out for maximum size if you go with loaches. Botias especially love to eat snails so I wouldn't consider them at all shrimp safe unless you have something very small like kuhlis.
Plecos are another favorite of mine, unfortunately the most commonly sold species are the commons and sailfins which get huge. There are all sorts that come in many different colorations and sizes, many of which won't touch algae. If you're after a pleco just to clean up algae in your tank, get a scrubbing sponge instead. The trick to getting a pleco is being able to get a positive ID on the fish, preferably with an L number.
Planet Catfish has a fabulous index of species. Most plecos get along well with just about everything, it's just a matter of size.