The PawDopt application will work like the well-known tinder app, except between dogs and people. It will allow users to view and adopt dogs on a mobile application.
Rescue organizations will create a profile and add members that will manage the adoption process and upload the dogs to be adopted. We will implement an AI solution using machine learning that will automatically recognise the breed of a dog from a photo of the dog and prefill some of the characteristics of the dog based on the breed. The organizations will be able to report users that have a fake account or users that should not be allowed to adopt dogs due to their home not being suitable. Rescue organization members can approve or reject user applications for dogs.
Dogs displayed to the user will be filtered based on the characteristics they are looking for. The users will also be able to change these filters to requirements, ensuring that they are met. The application will allow users to report organizations, in case of it being a fake profile. If the user swipes left on the dog, the dog will not be shown to the user again until they request for this to be reset. When the user swipes right on the dog, the application process will begin. During the process, appointments can be made to view the dog and a chat functionality between the user and the rescue organization is made available. If the user finds a dog, they will be able to report this on the system to get recommendations of the closest rescue organizations that can be contacted.
- Frontend
Angular
- API
Node/NestJs
- Backend
NodeJs/NestJs
- Database
MongoDB
- Hosting
Undecided
- Authentication
Undecided
At Cloud5 we will approach the PaWdopt system using the agile development methodology which is an iterative approach to project management and software development that will help our team deliver value to our stakeholders faster and with fewer headaches. It delivers work in small, but consumable increments. The requirements, plans, and results are evaluated continuously so that our teams have a natural mechanism for responding to change quickly. Thus, our manifesto for agile software development will be as follows:
- Individuals and interactions over processes and tools.
- Working software over comprehensive documentation.
- Customer collaboration over contract negotiation.
- Responding to change over following a plan. We will start by defining the users for a particular product and documenting a vision statement for the scope of problems, opportunities, and values to be addressed. The product owner, Epi-Use Africa, captures this vision and works with our multidisciplinary team to deliver on it. Several roles are involved in an agile development process.
An agile process always begins with the user or customer in mind. We will define user personas to illustrate different workflow roles or types of customer needs and behaviors.
This person creates insights, ideas, and feedback to create a product vision. Product visions are often short and straightforward, but they nonetheless paint a picture of who the customer or user is, what values are being addressed, and a strategy for addressing them.
Our agile development approach will focus on teams that are delivering working software, so they must complete end-to-end functioning applications, integrations, and other deliverables that impact users—not just the technical components. Team members must align on what they are building, who is doing what, and how the software will be developed.
For team meetings and collaborative coding practices we will make use of the scrum techniques that adopt agile principles that were identified in the manifesto. Cloud5 will organize the work in cadences called sprints, which usually last one or two weeks. The product owner writes the requirements as user stories, then prioritizes them in a backlog based on their business value. The team then reviews the backlog and commits to the top user stories they can complete during the sprint. We will have several meetings over the course of the sprint, initially starting with one a week and later increasing the amount as needed. These are sometimes called scrum ceremonies or scrum rituals. This will help our team commit to sprint priorities, complete the work during the sprint, and end each sprint successfully. Each meeting these topics will be discussed:
- Sprint planning is where the product owner shares priorities, and the team decides how much work it can complete during the sprint.
- Daily stand-up meetings help teams discuss the status of user stories; teammates share their daily goals, and anyone can escalate issues that impede the team’s progress.
- Sprint reviews are demo meetings at the end of the sprint, where the functionality is shown to the product owner to gain acceptance on completed work.
- Retrospective meetings are where the team discusses what went well and what needs improvement in their agile and software development processes. Thus, Cloud5 will fulfill all the needs of the product owner using agile development techniques to deliver a high-end product that can be used to the best of its ability by users of the application.
SRS Documentation: click here
Architecture Documentation: click here
Project Board: click here
I am currently enlisted in my third year of studies at the University of Pretoria studying Computer Science. My passions include ML, AI, Problem Solving and Team Management. I am competent in most modern industry languages and concepts. I am the Team Lead of this project and I am keen to lead this project into something great!
A conscientious, disciplined, hardworking, results-driven individual with enthusiasm, commitment and determination to succeed. Passionate about all frontend development including UI/UX and literate with JavaScript, TypeScript, HTML, SQL (Database programming), Java, C++, and Python. These will be used for the functionality for the frontend and backend so that they can cooperate effectively. I believe this project will broaden my horizons professionally and develop my skills futher.
I am a quiet, conscientious student in my final year of BSc Computer Science. I am self-driven and always hold my work to a great degree of quality. My passion lies with data science and database work, I am competent with most industry languages and have skills in most computer science related fields. I have high hopes and expectations for what we can achieve in this project.
Being in the last year of Bsc Computer Science, I am well versed with most computer knowledge. I am an all-rounder with knowledge of backend and frontend. I am competent in most industry languanges. My passion is with cyber security and front end design. My knowledge will be a great help to the development of the project.
I am currently in my final year of BSc Computer Science at University of Pretoria. I am well versed in many industry standard languages such as Python, Java and C++. I am literate in various webstack technologies and languages, and as such, can apply my skills in both front and backend development. I am passionate about ML, AI and Computer Security. This project will provide a platform in which I can hone my skills and apply them in a professional context.