Free space can be monitored using the view DBA_FREE_SPACE, which comes with all Oracle databases. At some time (today) select tablespace_name, sum(bytes)/1048576 "MB" from dba_free_space group by tablespace_name. Write down the results, or put the query into a stored procedure that writes to a table. After some unit of time that you choose, run the query again. How much space was used between times 1 and 2? You can setup a dbms_job to run your query every day.
The above will not always work because files maybe set to autoexpand. If so, then monitoring free space is difficult if not impossible. You can query view DBA_DATA_FILES periodically to see how much the files have extended themselves. For example, compare the total size of all datafiles (excluding system, temp, undo) this Friday against their size next Friday. This is not accurate at all, since a new extend maybe 99% empy and the operating system does not know this, but this type of query still gives you an idea about how fast your growing.
Data modeling tools like Oracle Designer and Sybase PowerDesigner ask you to input the expected number of rows for each table, and it will predict your growth rates and max sizes. Similar utilities maybe available outside of data modeling software. Check Oracle and Embarcadero, for two examples, to see what they sell. You might find you already have the software and didn't know it had this capability.