Personal Management System
Your central point for managing personal data
(if current modules allow to do that).
It's easier to understand this web application when you think about a CMS (WordPress) or CRM (SugarCRM); the logic behind this system is very similar to those two. My PMS may offer fewer possibilities than those systems above, but it just does what I want it to do. Additionally, writing extensions is not too hard, depending on the logic required. Anyone with development knowledge can pretty much write their own extensions for personal needs.
I decided to create my own system, because playing around with tons of plugins for WordPress and writing customizations to some existing CRMs would take me as much time as writing my own system and by knowing the logic from its core it's easier for me to write extensions and add additional modules - whatever I need.
Secondly, there is no system like that, and I didn't wanted to end up integrating a docker based cloud with CMS. Furthermore I just need an application like that to keep organized and I'm tired of having some very personal data on OneDrive, other data on Google cloud, some notes here, and some notes there. The end goal is to have an application running on terminal or raspberry 24/7 plugged into my home network, without access to internet.
Available options and modules
🎯Goals - Keep a track of your personal goals. You can use todolist to keep track of your goals progress or use payments submodule to keep an eye of the money amount that you want to collect for something. 📖Notes - Add any personal note to desired category. Here, you can keep any small information that you need; it can be either quick notes from phone call, bunch of information collected all around different pages or some links to things that you want to check somewhere later in future. 📞Contacts - You ever feel like You got dozens of phone contacts, emails etc. that you would like to get rid of, or make some safety backup in case you loose your phone? With this simple module you can organize your personal contacts. 🔑Passwords - We all get to certain point when there are just way too many passwords to handle all around. Yeah we can keep them on email, pendrive, have special patterns in our heads, but lets face it sometimes it's just too many. With the Passwords module You can keep Your passwords encrypted in Your database, while on the frontend there is a copy button that will fetch You back the original password. 🏆Achievements - Want to keep a track on anything cool you did - put in this module! 🚙Car - This module purpose is to keep track of any recurring things you got to do with your car like for example oil changes, payments etc. While recurring type is just for information, date type is additionally colored and used on dashboard as reminder. 🌴Travels - Having some ideas of places to visit but without any specific plans to it? Add it to this Module with google map link and some image so you can come back to it at any moment. May the image remind you why you were interested in this particular place. 💸Payments - Don't know how much money You spend on food, travels, domestic shopping? Simply from now on add every shopping details to the list and let it do all the calculations, alongside with summary for given month.
On the other hand if you would like to keep an eye of prices for particular products you can add information about them in Products Prices submodule (which I'm personally using while being in other country - on the moment when I'm writing this).
Here You can also keep track of who owes You some money or who You owe something to by using owed money submodule.
Bills submodule allows saving information about money spent on certain things (separately from monthly payments for things like money spent on holiday etc.)
🛒Shopping - You got plans to buy something in future? Add it to the list, and then just check it out, maybe You will be able to buy this particular thing just now. 💻Job - The Afterhours submodule is a nice way to keep an eye of all the afterhours you've made in work. With this you can also separate specified minutes/hours for certain goal. For example you need 24h for trip and 4h to do something. Just add some time to pre existing goal, create new one or leave it blank (will go to general purpose pool). Holidays submodule is a simple way to track down how many days did You used from yearly holidays pool. 📷Images - This module allows You to organize Your photos/scans/downloaded pics in form of masonry galleries. Clicking on image miniature will call lightbox gallery with possibility to rename, remove or download image. You can create as many galleries (folders) as You want. 📁Files - Files uploaded for this module are visible in form of DataTable where You can see simple information about the file - that is: extension, filetype icon (if there is one defined for given type), file size. Files can be renamed, downloaded and removed from the gui. 📑Reports - contains readonly reports created from already existing data in database
Fully accessible demo can be found ⇛Here⇚.
- Login: admin
- Password: admin
Info! All data on demo instance is removed and generated each day. If the demo is not working then either someone did his best to enter some untested invalid data, or server is simply down.
How to install/documentation
You can find all the informations ⇛Here⇚.
The project can also be installed by simply calling composer install in project root folder (Read the information that will popup). You will be guided through the autoinstaller - it won't do everything for You but will attempt to help You setting up the project.
Future development plans
📁Files module - improvements
- Handling server responses
🔎Job search - (VERY future development plan, not sure if will make it at all)
- I have totally different project on laravel for searching job on portals it can be turned into module but requires bigger amount of time, so that's just an idea. I don't really need it as module - so far far on end.
This things are planned for way later - first of all i need additonal working modules.
- Better page content reload with ajax
- Better CRUD for tables - preventing removing td subelements
- Dashboard settings - which modules widgets should be displayed
- Recurring payments for Payments module
- Adding images for Contacts
I cannot guarantee support. I've got a job, personal things etc, I'm just sharing my code/my application as MIT. However feel totally free to ask about something, write issues etc. As mentioned I'm using and I will use this application from now on daily so there might be some changes even good for me.
As I'm working on it there will be some fixes, and new modules in future when I reach the point when I got all I need. So after reaching my goal I could handle some support requests if anyone will be interested.
I mean for real. Just Chrome. I know about bug with copying password in Firefox for example. But I just do everything in Chrome so I'm not really planning to check that on other browsers.
Personal Management System is a web application which can be ran either in Windows and Linux enviroment. Everything is by default tested on Ubuntu 18.x.
- Php 7.2.x
- Symfony 4.3.2
- And maybe some others which I just don't remember
- Symfonator (Ui)
- EncryptBundle (Core for passwords module)
- Icon Picker (Icon picker for Notes module)
- Bootbox (Additional safety confirmations for CRUD)
- Faker Provider Collection (Faker extension)
- JsColor (Color pickers for Notes module)
- ... bootstrap, TinyMce, DataTables and many others
- ... I don't even know some of them which come prebuild in Symfonator
Special thanks to
- Mark Ogilvie - for fixing EncryptBundle bugs for Symfony 4
- Furcan - for adding my idea of contenteditable support for Icon Picker