0% found this document useful (0 votes)
25 views2 pages

Crit A Planning

The document discusses developing a two-part Python application to help an online freelance developer track time spent on projects and provide clients with regular progress updates. The first part is a CLI for managing project details. The second part runs in the background to periodically calculate hours worked using an algorithm and provide clients access to visualized progress data through temporary links.

Uploaded by

akilanramesh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views2 pages

Crit A Planning

The document discusses developing a two-part Python application to help an online freelance developer track time spent on projects and provide clients with regular progress updates. The first part is a CLI for managing project details. The second part runs in the background to periodically calculate hours worked using an algorithm and provide clients access to visualized progress data through temporary links.

Uploaded by

akilanramesh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Criterion A: Planning

Defining the problem:


Through interview A1 (found in Appendix A1), the problem can be defined as follows.
Ms. Jaya is an online freelance developer that specializes in web development. Unlike conventional
freelancers, she prefers being paid per the number of hours she has worked on a project, as it justifies
her asking prices and gives her a constant rate in the problems she takes up. However, as she connects
with clients through websites such as Fiverr, neither party – Ms. Jaya nor her client – know each other.
This causes a lack of trusti, which causes any time-based prices to not be accepted by the clients.
After some deliberation with my IA advisor, I made a proposal to Ms. Jaya to find a solution to this
problem. I then proceeded to conduct a second independent interview after developing an abstract
rationale to gain a better perspective on the issue and its contextii
Rationale for Solution
The solution will be a 2-part desktop application developed in Python. I chose Python since
this application requires a more focus on a versatile back end than a glamorous front end. Due to the
utility of Python provided by its numerous external libraries, it was best suited for this application.
The first part of the application, the user interface, will allow Ms. Jaya to create and modify
projects will be able to create new projects or edit existing ones through a CLI which she can access
through running an executable. Each project will require some input details, such as the client
discussed maximum time estimate, the pay rate, the email of the client, the project name and its
path. The 2nd part of the application is an executable file that runs perpetually in the background. The
aim of this application is to periodically use an algorithm to determine the number of hours worked
on the project and the client is provided a regularly updated visualization of the work that has been
completed. This will be visualized using Python libraries such as seaborn (Waskom). This back end
will also be responsible for the creation of authenticated receipts that will be made automatically
once a project has been completed. Ms. Jaya will send these digitally signed receipts to her client
after a project is done.

Word Count: 383


Success Criteria (Based on Interviews A1 and A2 in the Appendix)
1. The implemented solution does not interfere with Ms. Jaya’s workflow.

2. The application is computationally lightweight.

3. The backend can manage multiple projects simultaneously.

4. The project information must have some form of secure encryption and authentication to
prevent unauthorized access/tampering.

5. The algorithm used to determine the hours worked must be correct.

6. The algorithm used to determine the hours worked must not be exploitable or unfair to either
Ms. Jaya or her client.

7. Visualized progress data is accessible to the client and is periodically updated per project. I
was thinking you would be able to provide temporary links to your clients so they would be
able to see your regular progress.

8. The solution must automatically create and format a receipt if a project is rendered complete.

9. The CLI is useable, intuitive, efficient and can manage errors without crashing.

10. Should be able to track progress regardless of file type.

11. Each project must be able to track the progress in more than one file

References

Waskom, Michael. “Seaborn: Statistical Data Visualization.” Journal of Open Source Software, vol. 6,

no. 60, Apr. 2021, p. 3021. DOI.org (Crossref), https://doi.org/10.21105/joss.03021.

i
Ms. Jaya, in Interview A1
ii
Interview A2 in Appendix

You might also like