Лучший способ накопить опыт - это велосипедостроение, т.е. вместо использования готовых фреймворков, пилить все самому чуть ли не с нуля.
Все что вы описали сделать можно, и не обязательно на php и базах данных но если речь идет именно о них то вперед. Так как вы делаете для себя, вам не нужны никакие mysql/postgres и т.п., достаточно простой sql базы данных на основе sqlite - достоинство не надо ничего устанавливать и настраивать, база даных = файл, поддержка php из коробки и т.п. (не надо делать свою базу данных на файлах в своем формате, этот путь в никуда и пользы вам не принесет, но если у вас есть неизменяемые данные, которые не надо менять из интерфейса, такими бывают некоторые справочники например, то можно воспользоваться форматами данных, предлагаемых php - json, serialize, или var_dump т.е. формат php, когда данные описаны прямо в коде в виде массива)
Другой вопрос, нужен ли вам этот опыт. Мое мнение да, другой скажет нет? ибо реальная работа это не велосипеды а использование готовых технологий, быстро просто эффективно.. правда когда появятся грабли, будете в непонятках полных что почему куда, ибо опыта как такового у вас не будет.