An AI-powered scheduling tool designed to seamlessly manage your time by integrating with your calendar and scheduling events dynamically based on your free time. It efficiently balances your professional and personal events, ensuring optimal utilisation of your time.
Koja is a system designed to enable more efficient time utilization through dynamic and fixed time allocation for specific tasks a user wants to complete. The primary goal of Koja is to alleviate the challenges of schedule management with minimal effort from the user.
Ettienne has two years of experience in using and building projects with Flutter. One of these projects was successfully deployed and is still in use by the company it was built for. This project also utilised Firebase's Firestore database.In addition, Ettienne has one and a half years of combined experience in leading and organising projects, all of which have been highly successful. While this project won't necessarily utilise Java, it's worth noting that Ettienne has over a year and a half of experience using it. Kotlin and Java are very suitable for this project. Ettienne has completed courses in both Machine Learning and Deep Learning, provided by MatLab.
Matjere J. Matseba(u21609633)
Matjere possesses a diverse range of skills that makes him an asset to this project. Given his experience in backend API development and knowledge of Spring Boot, he is capable of developing and implementing efficient systems. In addition, Matjere's skills in conceptualising and designing systems make him an ideal candidate for understanding this project's requirements. His extensive experience with Java, JavaScript, and TypeScript may also translate well to the proposed technologies for this project. Additionally, Matjere has experience in designing and prototyping front-end applications, enabling him to create user interfaces that are both intuitive and visually appealing. It's worth noting that Matjere has completed the same courses in Matlab as Ettienne, which further adds to his qualifications for the project's AI needs.
Unarine L. Netshifhefhe(u20505656)
Leo has experience with being a UI Engineer and Designer with expertise in HTML, CSS, and JavaScript. It's worth noting that Leo has a good understanding of UI/UX design principles and can create visually appealing and user-friendly interfaces. His knowledge and experience in front-end development makes him an asset in creating responsive and interactive web applications. Leo has also completed courses in Matlab as Ettienne for the AI component of this project, which also makes him a valuable addition to our team.
Lesiba T.F. Setsiba(u21566382)
Lesiba is a highly skilled and versatile developer with a strong background in HTML, CSS, JavaScript, PHP, and database management, including SQL. He is proficient in working with APIs, Angular, and Ionic frameworks, and has a solid foundation in Java. Lesiba's ability to quickly adapt to new programming languages and his eagerness to learn new software make him a valuable asset to the team. Notably, he has completed the same AI courses as Ettienne, which further strengthens his capabilities in the AI component of the project. With his diverse range of skills and commitment to continuous learning, Lesiba is well-prepared to contribute to the success of this project.
Elias S. Makhonjwa(u18034332)
Elias brings a strong skill set to the project, with advanced proficiency in Node.js and relational database management, ensuring efficient backend development and data handling. He has intermediate experience in Spring Boot, Python Spacy, and Angular/Ionic, which allows him to contribute to various aspects of the project. Although Elias has no prior experience with Flutter, he is eager to learn and adapt to any new technologies that may be required. Furthermore, Elias has completed the same AI-focused courses as Ettienne, equipping him with the necessary knowledge to contribute to the AI components of this project.
@U18034332, please delve into the existing models in PyTorch and TensorFlow that we might leverage or adapt for our project.
In the process, ensure to provide the following information in your documentation:
Determine potential applications of AI models within our project, and provide justification and methodology for their usage.
Explore and document relevant PyTorch models that align with the identified tasks.
Explore and document pertinent TensorFlow models that align with the identified tasks.
The documentation should be comprehensive and provide a clear understanding of the models.
Your tasks are:
Identify and justify potential applications for AI within our project
Investigate and document relevant existing PyTorch models
Investigate and document relevant existing TensorFlow models
@UnarineLeo, please update the current implementation of the Login / Register system to use the Google Authentication system to get an OAuth key and store it in the frontend's context.
Your tasks are:
Refactor Login / Register system to use Google Authentication
Update the time boundaries to automatically establish a dynamic time boundary upon user account creation. This will be used as a default to schedule dynamic events within these boundaries, if no other specific boundary is selected for scheduling the dynamic event.
Will also serve as the time the user will be at their home location
**IDEA: **
Allow time boundaries to be assigned a location,
eg. Home for sleep time boundary, Work for Work time boundary
@MatjereJ, please implement the concrete implementation for the GoogleCalanderAdapter class, please refer to the class diagram on the drive if you have any issues.
@u19012366, please implement the CI/CD pipeline such that the main branch is for production, the dev branch for active development and feature branches branching from dev
@UnarineLeo, please make the service / function that adds location on the front-end also send the location data to the backend according to the endpoint created by #39
@UnarineLeo, please document how the Adapter and/or Strategy patterns can be used for Calendar integration and go through the Flutter quick start video. Include the following in the document:
Document how the Adapter pattern can be used for this integration,
Document how the Strategy pattern can be used for this integration,
*The documentation should be thorough and provide a clear understanding of the design patterns.
@MatjereJ, please implement the functionality to add a location to a complete graph structure that will have the connections between the locations be the traveling time and/or distance.
Your tasks are:
Create controller for handling add location tasks
Use the received location data's id in a complete graphs structure
Create method to auto update every n-amount of hours/minutes