Hi Flor,
The project you are describing seems to have a bit of a broad scope.
Focusing specifically on scheduled fixed route public transportation, that's what you can solve with GTFS. There are two parts to GTFS - GTFS "Static", where the network of buses, trains, trams, metros etc is described in a set of standardized CSV files according to the documentation described here -
https://gtfs.org/schedule/These you can more or less make by hand, for a small network you may be able to create it manually in Excel, although I would not recommend it. There are some open source tools you can use to create static feeds from scratch (define stops, draw shapes, import table schedules) - I can recommend you datatools-ui and datatools-server by
IBI Group or
WatriFeed, both which you can find on github. You'd need moderate experience to set this up on a server. You can also create your own scripts in R, Python, Javascript etc if you are familiar with any of them, there are packages available to manipulate or produce GTFS-compliant files. You can usually generate these files one time and then update as necessary, for example when the schedule changes.
Once the static schedule is modeled in GTFS and you validate that it conforms to the spec using a tool like this -
https://gtfs-validator.mobilitydata.org/ you can move on to generating GTFS-Realtime. This is not something you do by hand (except for the Service Alerts maybe), but you configure a program to combine GPS data from vehicle CAD-AVL systems with the previously created static GTFS to produce a feed of adjusted arrival times that reflect current traffic situations. The best free piece of software to do this is
TheTransitClock/transitime which you can also find on GitHub. There is some more setup that needs to take place in order to get this to work, including a Linux server and a database that need to run continuously (not only when you change the schedule). I personally wrote a guide on how to get this set up - check it out
here. I would recommend you consult with someone who has at least an intermediate understanding of server setup and architecture.
For the cabs/bikes parts of your inquiry you'd have to look into GTFS-Flex/on-demand and GBFS, with which I am not that familiar with.
I hope you find at least some of this useful and that it furthers your initiative.
Bogdan.