montero4 Posted February 25, 2020 Share Posted February 25, 2020 Hi all, Ryan suggested I post this in the public forum and I think this is the most appropriate area. If not, please let me know, and I will remove it.I'm writing for some preliminary advice/views if you care to comment and have the time. If you would like to reply, please send me a private message in the forum (per the pinned post guideline). I'm looking for this type of advice:a) Could this be done in PW? If not, what software platform(s) should I look at?b) I'm looking for comments along the lines of "Yes you can do this in PW, you can do the feature you described a, b, c, d, e using this module, this module, and that module...You would also have to think about x, y, z...good luck!" I haven't checked the PW rules for the use of existing modules in a commercial product for copyright etc, so I will do that before I incorporate anything.c) Ideally, I would like to code this myself as I'm thinking I will be maintaining this over time, so I might as well code it. However, I'm open to working with a developer in the following ways: Developer acts as a consultant. I would code it and the developer reviews the code and recommends corrections/changes. I'm unfamiliar what the industry best practices are so maybe this first option is a recipe for disaster and not recommended. Developer will code the whole thing. I would of course design how the whole thing will look/function/behave. The idea is essentially a timesheet app. The front end will be a dashboard showing a visualization of a world map and multiple graphs summarizing time data. I know there are many time tracking programs already, but I'm looking at this idea as an art project so it has a different focus.When a user starts something she wants to track (her "work"), she can click on a button to turn on the timer, and a pixel on the world map (the city where she's located) will start to flash. When she is done her work, she clicks "off" and the pixel stops flashing.A user can have as many work sessions as needed throughout the day. She has a choice to input text into a tag for each work session. There could also be another text field for comments. At the end of every week, a summary is emailed to the user in terms of total work hours etc.I'm envisioning the data requirements are pretty simple up to this point (or maybe not). The backend will only have fields for email, user_id, name, password, date, start_time, end_time, tag, comments, and city. I'm thinking repeater fields or maybe protable, LoginRegisterPro, and ProMail would figure into the solution.Suppose there are 20 people using this app. In the world map, each person will have his own flashing light and the flashing lights of all the other people (assuming they are active at the same time). The person's light could be one color and the light of the other people will be another color.The app does not have to be location aware since the user inputs the city he is located in. If the user moves for a day to a new city, then when he initiates the timesheet, he can override his default city and that new city setting will be active for that day. It will then reset itself to his default city the following day. If the move is for a longer time period, he could always change his default city in his settings.I haven’t decided whether the world map has zooming-in capability. Because of privacy issues, I don't want the pixel to be mapped to the person's actual location. I'm thinking that the dot will map to the city center. So the app will have to look up some mapping reference available on the internet? I don't know. Also, I will have to think about how to visualize users in the same city. I'll also have to think about how to avoid the pixels piling on top of each other. Note that privacy is very important so I will have to think through all the scenarios to make sure it's maintained.The user could also simply input time manually. The fields for day, start_time, end_time, tag, and comment will remain open and editable for one week and then it gets locked. I figure this is just a form that has a time limit?The app accumulates the work time and shows the total work hours by day, week, month, year by tag, by user. However, if a group of users agrees on a common tag(with a prefix of #), say #eventName, then the aggregations of work hours would be shown by user and also by #eventName. I guess the app will check to see if an #eventName is already created and warn the user that it's not unique, but that's the only notification they will get. A groupevent will have the same flashing color on the world map.There could be a "play" button that would show the work hour evolution over time (speeded up). This feature would be interactive on the webpage where a user can choose the start- and end- dates. Or they could replay it for entire year (speeded up).The user should able to embed the world map visualization into their own website using their unique user_id (which would still be hidden so it should not show up in the html source code). In a way, the user himself will be breaking his confidentiality/privacy (i.e. he is tracking and showing his timesheet to everyone on his website, but I think this is ok). When they embed the timesheet, they will be able to show their time data, aggregated data, etc along with all the other user data (all anonymous of course - the user only gets the aggregated anonymized data for everybody else as a comparable). At any time, the user can download their time data and quit/erase their data in the app (which I think is supported in LoginRegisterpro). If a departing user happens to have time data that was part of a common #tag, then the time data for that user will be recategorized to "inactive user" and will no longer be associated with a person's email (which would be erased anyway once the person leaves).The app will have an accompanying iphone and applewatch app (especially the on/off/tag/comment field so that they don't have to be tied to the computer). It would be nice to have the visualization on the iPhone too. So I would assume that I would need to learn to program for the iPhone too? Would a responsive website be enough? I'm not sure how that works.The website application will really only have one page (the dashboard). There will be external pages of about, user manual, support -- but those are easy to create. There will be user-accessible pages for input/setting modifications, but I think those are all doable in PW. However, I'm having trouble thinking about how to generate the interactive dashboard. I'm an accountant so I've used dashboard software like Tableau -- that would be ideal as the front end as I know how to program that, but I can't obviously use that as the front-end in this instance as it's not "real-time." I believe it connects to mySQL but not in real-time. You would have to refresh it and that takes time. What technology would power the interactive visualizations like that?I will maintain this website and each user will just pay a subscription fee (which is supported in ProFields, so I'm sure I can figure that part out).If you've read this far, thank you. If you would like to reply, please send me a private message in the forum (per the pinned post guideline). Thank you in advance for your help. Link to comment Share on other sites More sharing options...
Paul_victor Posted February 25, 2020 Share Posted February 25, 2020 Hi, I can help PM sent Regards, Victor Link to comment Share on other sites More sharing options...
andrew24 Posted February 26, 2020 Share Posted February 26, 2020 Hi, I am an experienced developer having worked on some complex projects using Processwire and I would be able help you out You can reach me on andrewjohnson56782@gmail.com Best Wishes, Andrew Link to comment Share on other sites More sharing options...
kongondo Posted February 26, 2020 Share Posted February 26, 2020 Hi @montero4, Moderation note: I have moved your topic to the General Support forum as the gist of your thread is about seeking advice. Hopefully here, you will get lots of advice. However, if at any point in the future you decide you want to hire a developer, please start a topic in that regard in the jobs board and cross reference this thread, if you wish. 1 Link to comment Share on other sites More sharing options...
Jan Romero Posted February 26, 2020 Share Posted February 26, 2020 In accordance with the gist identified by Kongondo, I’ll comment that I figure most of the complexity will probably lie in your envisioned front-end. I’m certain that PW will work just fine as far as it is concerned, but it won’t help you any displaying a zoomable map and all that. This is an ambitious project if you’re really going to involve native mobile apps and payment processing. I would probably suggest keeping it simple for now, and just worry about getting your data from the user to your database and back. Working with data and users is pretty much a breeze with PW. While there may be more suitable products for your particular use case (you’d have to ask someone more broadly versed), I wouldn’t worry about the ProcessWire side of things too much. It’ll probably the part you’ll need the least help with. My tip would be to look into front-end people if you really are looking to hire. I should mention that my personal MO online is Hemingway-inspired, i.e. post drunk, browse sober, and right now I’m, like, really posting. 1 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now