not approved
GooDanoMap: Google Maps Companion
Current Project Status
Unfunded
Amount
Received
₳0
Amount
Requested
₳74,999
Percentage
Received
0.00%
Solution

GooDanoMap will be a mobile application to provide deliverers and travelers with points of interest so that they have the best experience during their activities.

Problem

In most african country, town planning is not developed. Places don’t have addresses. Despite the efforts made by Google to identify places, there are many centers of interest that are not identified.

Impact / Alignment
Feasibility
Value for money
GooDanoMap: Google Maps Companion

Please describe your proposed solution.

how we perceive the problem we are solving?

Despite the lack of conventional address of places / points of interest in many countries in Africa, there are ways to find our way around. It is generally used the names of places or points of interest such as schools, health centers, crossroads, etc. to find their way around in a quarter. These names which for the population play the role of address are only known locally (limited to the quarter). It is about bringing these names to the global level so that they are used by the whole community for specific needs.

How it work?

The operating principle of the application is simple: wherever you are, the application displays the nearest points of interest (Garage, Pharmacy, etc.). These points of interest are: School, Pharmacy, Garage, Health Center, Police Station, Markets, Radar, Potholes, Wrecks, Parking lots at risk, Gas Station (Modern or Traditional), Road Sign ( speed limit, signaling of the number of deaths), Travel Agency, Bus stations, Weather, Air Quality, Crossroads, Toll, Bridge, Roads (Heavy axis, secondary road, rural track, etc.).

Thus, a person who has difficulties with his radiator during his trip, who uses the application will be informed of the nearest garage, a curious traveler who does not know any information about a place is informed of all the history of this place in precise details. A delivery person will be able to find his delivery destination and the route to get there in the application.

The GooDanoMap application positions itself as a partner of Google maps in the sense that it collects information that will help Google Map to complete the information on the map in order to improve the user experience.

Approach used in the solution

Use for support.

The GoodanoMap application can also be used as a support tool. In this case, when a user is close to a previously defined center of interest, the application sends him 03 alerts:

  1. before arriving at the point of interest,
  2. upon arrival at the point of interest and
  3. when leaving the point of interest

The user will be able to query the application to find out where a center of interest is located? The GoodanoMap application with its supplied database can easily answer this question.

Data managment

All points of interest will be stored in texts, images (photos), videos and audio recordings. To facilitate the storage and search of points of interest, the servers will be organized into nodes. Indeed, an architecture of one node per country will be put in place for a start.

In particular, the application can be used without an internet connection (offline mode). The user can save the data and can upload it to the server, once the Internet connection is restored. The contribution of the citizen is that of his few megabytes that he uses to download points of interest and thus help users to have a better experience in their activity.

Data Validation and Quality

To ensure that the information recorded in the platform is credible, a data validation strategy will be implemented. This strategy is mainly based on the fact that each user is identified using their phone number. Secondly, the data entered by the latter can be rated by the community, so higher rated users give much more credible and verified information than those with lower ratings. This rating system will use the criteria: faithful | less faithful | Not faithful. Each of these criteria has an equivalent in points. When the information about a point of interest has reached its stability (has been used at least n times with satisfaction), an NFT is created for this point. The community will be able to contribute to this addressing system by buying the NFTs of the places.

The database thus constituted can be used by various companies such as Google, companies operating in delivery, transport companies, etc.

How does your proposed solution address the challenge and what benefits will this bring to the Cardano ecosystem?

GooDanoMap makes it possible to identify places with the notion of NFT which will be created on the Cardano platform. To generate the NFTs, the donor will have to mint an asset. This will create a transaction on the Cardano platform. To do so, the donor must create an electronic wallet on Cardano. GooDanoMap will thus help to increase transactions on the Cardano blockchain and will also help to increase the number of electronic wallets on this blockchain.

Gradually, we will bring subscribed users to participate in the creation of the NFT of a stable point of interest in order to continue to benefit from the functionalities of the application.

How do you intend to measure the success of your project?

The success of the proposed solution to the problem will be as follows:

  1. During the first year, be able to record the points of interest of seven quarters in three countries and those of a road axis of at least 300KM.
  2. During the following two years, gradually record the points of interest of 12 quarters and those of three road axis of at least 300KM.
  3. Register 200 users in the first year of operation and multiply this figure by 6 during the following three years;
  4. Encourage each user to register at least one area of interest during the first months of their subscription.

The final result will be the number of stable points of interest for which an NFT has been created as well as the rate of use/adoption of the application.

Please describe your plans to share the outputs and results of your project?

  1. The first beneficiary of the GooDanoMap application is the traveler. Thanks to the application, there is no longer a place of which it does not have information. He knows where the nearest garage is on a road axis, where to find the best fresh food during the journey. In short, the traveler is aware of the different points of interest that his journey offers him.
  2. Then we have the State with its various dismemberments:
  3. The Ministry in charge of Transport, which may use the database of the application in order to know the actual number of travelers on our roads;
  4. The Ministry in charge of Health which will be able to best deploy these Health Centers by placing them close to the roads which cause a lot of accidents;
  5. The police to have a map of areas not yet covered by police stations.
  6. The local populations who will make known their origins and their particularity and will also be able to exhibit their know-how.
  7. Delivery companies that will draw on the database created by the application,
  8. Google which will be able to refine its Google Map application with data from GooDanoMap.

What is your capability to deliver your project with high levels of trust and accountability?

Feasibility:

Reference (Past successes):

Wada has been organizing monthly meet-ups across our hubs, spreading awareness and introductory education on Cardano, Project Catalyst, and Blockhain technology as a whole. We have already established active hubs in: Ivory Coast (French), Ghana (English), Nigeria (English), Cameroon (French & English) and Democratic Republic of Congo (French) that have been participating in these programs.

We, at WADA Cameroon combine strong experience in managing Cardano-funded projects on the Catalyst platform. As an institution that promotes the Cardano platform in Africa, We have already carried out the following projects:

1- Spread Plutus through Africa (https://cardano.ideascale.com/c/idea/60513)

2- Club and Hackathon (https://cardano.ideascale.com/c/idea/60512)

3- Nuturing root (https://cardano.ideascale.com/c/idea/64152)

4-etc.

Core Team & Roles:

Wada Hub Trainers & Coordination:

  • Manfo: Cameroon Team Co-Lead, Senior software architect & developer, 13+ year of experience programming, 3+ years in functional programming paradigm (F#, Haskell, Elm), Multilingual (French, English, Italian, Ngiembo)
  • Nkalla: Senior software architect & developer, 13+ year of experience programming, 3+ years in functional programming paradigm (Haskell), Mathematics teacher (Education Systems Engineering), Multilingual (French, Italian, English, Mbo)
  • Arcel: Senior Software developer in Closure 7 + years experience, Project manager, Multilingual (French, English)
  • Megan: Wada Cameroon Hub Co-Lead, Central Africa Coordination Lead, Wada core team member (Education and Event Lead), Math & Physics teacher, bilingual (French & English)

What are the main goals for the project and how will you validate if your approach is feasible?

The vision of the GooDanoMap project is "To be a tool that makes your trip enjoyable". The objectives of the project are:

  1. During the first year, be able to record the points of interest of seven quarters in three countries and those of a road axis of at least 300KM.
  2. During the following two years, gradually record the points of interest of 12 quarters and those of three road axis of at least 300KM.
  3. Register 200 users in the first year of operation and multiply this figure by 6 during the following three years;
  4. Encourage each user to register at least one area of interest during the first months of their subscription.

The final result will be the number of stable points of interest for which an NFT has been created as well as the rate of use/adoption of the application.

Please provide a detailed breakdown of your project’s milestones and each of the main tasks or activities to reach the milestone plus the expected timeline for the delivery.

The detailed plan including timeline and key milestones for delivering this proposal can be seen below:

Introduction

Project management will be done with modern IT project management methods: the Agile methodology. The Agile method and methodology is a particular approach to project management that is used in software development. This method helps teams respond to the unpredictability of building software. It uses incremental and iterative work sequences, commonly known as sprints. Sprints will be done periodically (once a week). Task tracking will be done using the JIRA tool.

Preparatory phase (preliminaries)

This phase will constitute the start of the mission. It consists of bringing together the elements necessary to carry out the mission. This launch will be marked by:

  • a mission familiarization meeting between our experts and engineers in order to fully understand the work requested and describe the outline of the work plan to be followed;
  • a documentary review on the project with regard to the administrative aspects (mission order, letter of authorization, etc.). As we will work with the administration to go arround in the quarters.
  • administrative preparation of the project;
  • Preparation of documents giving authorization to provide information;
  • and setting up a planning workshop to produce the mission schedule;

At the end of this phase, we will produce an Inception Report or a Framework Note containing the detailed work plan and the methodology adopted.

Studies and analysis of the existing

This phase effectively constitutes the technical launch of the mission. This launch will be marked by:

  • an exhaustive identification of internal and external services, actors and operators concerned by the project as well as their areas and sectors of intervention;
  • an analysis of the current situation characterized by an awareness of current software used in similar activities such as Google Maps;
  • a documentary research (recent reports and manuals of procedures) and an identification of the missions and services of the organizations involved, and if necessary, designing appropriate interview guides (questionnaires) to be sent to the main actors involved in the project in order to comply with the law.

As with any development of an IT solution, it is necessary to first know what are the different needs that this solution must meet.

  • To do this, it will be important to get closer to clearly identified end users in order to know their needs;
  • Finally, we will proceed to the Analysis and evaluation of our needs in the light of the information resulting from the informations collection;

It should also be noted that the conduct of these phases of information collection and needs analysis will be done, among other things, through the organization of one or more ad-hoc technical workshops which will bring together all the actors involved in the project.

At the end of this phase, we will formalize the detailed Specifications of the future IT solution.

Platform design

The creation of an electronic platform must imperatively be preceded by an analysis and design methodology whose objective is to formalize the preliminary stages of development so that the final rendering is more faithful to the needs of users. The analysis phase makes it possible to list the expected results, in terms of functionalities, and the design phase makes it possible to describe in an unambiguous manner, most often using a modeling language, the future operation of the system, in order to facilitate the realization.

The success of IT development projects largely depends on the design phase. And if it is not well done, there is a chance that the result obtained will not meet the needs expressed.

In order to build an application:

  • Which easily adapts to scalability and extensibility,
  • which resists breakdowns,
  • which is extremely fast,
  • which can be easily controlled,

we propose to design the application with the microservices architecture coupled with the DDD (Domain Driven Design). Each microservice will be responsible for solving a specific business problem and will operate independently of other microservices (low coupling). This architecture makes it possible to optimally address the complexity of the problems by applying the “divide and conquer” principle. In order to allow the reading and understanding of the architecture of the platform, a modeling software based on the functional paradigm will be used to describe the objects resulting from this architecture, their interaction, their interrelation and their relationship with the outside world (third party).

In this phase, it will be about of refining the analysis and designing the platform on the basis of the Specifications produced in the previous phase.

We will proceed through several steps, the first of which will consist in identifying the appropriate technical functionalities that will facilitate the putting online and the use of the business functionalities (needs identified).

Then, we will proceed to the actual modeling of the business functionalities, which will lead to the definition of the architecture of the future System and the choice of technologies and development tools, essentially based on proven and adequate open source solutions.

At the end of this phase, various documents will be produced, in particular:

  • the prototype of the application;
  • the Analysis Document;
  • the Technical Design Document;
  • the Quality Assurance Plan (QAP);
  • the Security Policy (PS).

Acquisition of hardware and software infrastructure

After choosing the architectures, technologies and development tools, we will proceed to the choice of the hardware infrastructure and the software necessary to carry out the realization of the application. These infrastructures include servers in the cloud, IDE (Integrated Development Environment), licenses, etc.

Application Development

After the design phase of the platform, the development team will be set up and important activities will be carried out:

  • We will start with the installations and configurations of the development environments consisting essentially of the Open Source tools chosen in the previous design phase.
  • We will then proceed to the development of all the components designed in the previous phase. It will be about successively developing the technical functionalities, the Business functionalities, the security components, the graphic charter (defined in the prototype) and the editorial charter of the platform. Each feature developed will then be integrated into the global platform.
  • At the end of the integration of all the developed modules, we will proceed to a packaging of the System for the internal global integration and functioning tests.

At the end of this phase, the following documents will be produced:

  • a development report;
  • well-documented source codes in digital format;
  • a test report,
  • Executables,
  • a training plan, as well as the various training modules;

User training

It is about giving the users of this project the technical skills for a better exploitation and maintenance of the developed platform. This phase is quite important for the preparation to promote the platform.

  • We will start by identifying the types of users to train.
  • This identification will guide us in the development and/or appropriate updating of training materials. The focus will be on the major components.
  • Then, we will proceed with the preparation of the training: setting up the training site (networked PCs, deployment of the System on these PCs, configuration of the training platform, etc.), modern teaching tools (whiteboard, video projector , training materials in paper and digital format, etc.)
  • The course of the training will follow: it will take place in the form of theoretical and practical exercises on the platform. Our trainers will be made up of people who participated in the Design and Development of the application and therefore have the minimum profile required to carry out this mission.

At the end of this phase, we will produce a Training Report with attendance, evaluation and recommendation sheets from the learners.

Deployment of the Application on Cardano

When the training is completed and its report validated, all that remains is to deploy the platform on the equipment acquired previously.

It should be noted that accounts will be opened on the Play Store and App Store platforms for the project in order to publish/deploy the Android and iOS applications obtained during the development of the platform.

Following these deployments, an approval session will be organized for the platform to verify that it complies with the specifications.

The deployment will follow the following steps:

  • We will start by identifying the infrastructure (Servers, Storage, Internet Access) necessary to set up the platform.
  • Then follow the installation and configuration of the application on this infrastructure;
  • All that remains is to put the developed and tested Application into service.

this phase, it will be produced the deployment report.

Workplan

Data collection for the study and analysis of needs

The approach we will adopt to describe the situation is as follows:

  • Identification of the different actors/operators and services involved in the project;
  • Documentary research, identification of the missions, needs and services of the actors involved, possibly with the help of previously designed interview guides;
  • Critical analysis of the current system;
  • Analysis and Synthesis of needs obtained;
  • Writing the Specifications;
  • Validation of the Specifications with the actors involved

Application Design

The approach we will adopt for the design of the platform is as follows:

  1. Identification of the appropriate business and technical functionalities to put the business functionalities online (needs identified);
  2. Organization of functionalities into modules and identification of microservices;
  3. Modeling of the Business Features (identified needs) of each microservice;
  4. Definition of methods of interaction between microservices (Context Mapping) and choice of middleware (for asynchronous communications between microservices);
  5. Definition of the Components of each microservice and choice of appropriate technologies;
  6. Design of the Internal Architecture of each microservice;
  7. Design of the architecture of the mobile application;
  8. Writing of associated documents: Analysis Document; Technical design document; Quality Assurance plan ; Security policy ;
  9. Transmission of documents to the Project Monitoring Committee;
  10. Validation of documents relating to the design of the platform.

Application Development

The approach we will adopt for the development of the platform is as follows:

  1. Acquisition of development environments;
  2. Creation of git accounts for source code version management,
  3. Creation of Docker accounts for containerization and preparation for continuous integration.
  4. Deployment of development environments;
  5. Development and Integration of Technical Features;
  6. Development and Integration of Business Features;
  7. Development and Integration of Security Components;
  8. Packaging of the developed system and testing;
  9. Writing of documents relating to Development and transmission to the Project Monitoring Committee;
  10. Validation of documents relating to Development (Technical validation workshop).

User training

The approach we will adopt for the training of end users is as follows:

  1. Identification of users to be trained;
  2. Development of training content;
  3. Preparation of the training (site, teaching tools, teaching materials, etc.);
  4. Program of the training ;
  5. Evaluation of trainers and learners;
  6. Writing of the Training Report and Transmission to the Project Monitoring Committee;
  7. Validation of the Training Report.

Deployment to production environments

The approach that we will adopt to ensure the deployment on the production environments in order to allow the restitution of the mission is the following:

  1. Installing and configuring required software:
  2. Installing Docker,
  3. Configuration of the repository,
  4. Installation of configuration files,
  5. Installation of tools such as: proxy server, database server, web client for database access, installation of the chosen middleware, etc.
  6. Installation of the databases of the different microservices
  7. Deployment of different microservices
  8. Deployment/publication of mobile applications (Android and iOS) on the Play Store and App Store platforms;
  9. Writing of the deployment report;

Application and hardware maintenance of the platform

We will focus on discussing at this stage the definition of the essential elements of the Maintenance Protocol. These elements relate to:

  1. Corrective maintenance
  2. Blocking anomalies, leading to a critical malfunction: loss of data integrity, total or partial unavailability of application functionalities
  3. Major anomalies, preventing the partial use of a system functionality
  4. Minor anomalies, causing a minor malfunction of the system without degrading its use by users.
  5. It will also define the mode of communication and the management of the versions of the application.
  6. Preventive maintenance: Preventive maintenance consists of: Audit of the technical operation of the application environment and identification of improvements likely to be implemented (studies of the various logs and trace files from the system, the database and the application components)
  7. The evaluation of the improvements likely to be obtained by updating the components used, and if necessary the implementation of alternative or complementary solutions.
  8. Evolutionary maintenance
  9. Adaptive maintenance: This involves taking into account, at the request of users, improvements related to the evolution of the technical environment such as the change of version of the OS, Server, imposed by constraints related to security vulnerabilities on these, or system performance optimization needs.

Timeline

In full compliance with the technical design and methodology presented above, our overall work schedule is described in the table below. It should be remembered that the durations of the activities which emerge from this chronogram are estimated. Thus, this mission can be carried out by our experts/engineers in 51 (fifty-one) weeks (W1, W2, …, W51) i.e. a duration of 12 (twelve) months; subject to contingencies.

c1-c147d4.png

c2-24e268.png

c3-19b6bc.png

Please describe the deliverables, outputs and intended outcomes of each milestone.

The end product will be the solution deployed on an infrastructure. To achieve this and prepare the elements for its maintenance and scalability, it is necessary or even essential to produce intermediate deliverables during its development. These deliverables are:

  1. The start report: It closes the initial and framing phase. The activities carried out in this phase are:
  2. Preparation of the administrative aspects of the mission
  3. Familiarization meeting between our experts and engineers
  4. Administrative preparation of the project
  5. Setting up a planning workshop to produce the mission schedule
  6. Writing of the start report
  7. Specifications Document : It closes the study and analysis of the existing phase. The activities carried out in this phase are:
  8. Identification of the different actors involved in the project
  9. Documentary research (documents and manuals of procedures)
  10. Identification of the missions, needs and services of the actors involved,
  11. Analysis, Evaluation and Synthesis of the data and needs obtained
  12. Writing a document presenting the current system and the needs expressed (Specifications)
  13. Organization of an Ad-hoc Workshop to validate the Specifications
  14. Validation of the Specifications with the actors involved
  15. System Design documents: It is composed of the following deliverables:
  • the prototype of the application;
  • the Analysis Document;
  • the Technical Design Document;
  • the Quality Assurance Plan (QAP);
  • the Security Policy (PS).

It closes the application design phase. The activities carried out in this phase are:

  1. Identification of the appropriate technical functionalities
  2. Identifying microservices
  3. Modeling of Business Features in the different microservices
  4. Definition of the Components of each microservice and choice of appropriate technologies
  5. Design of the global architecture of the platform
  6. Validation of System Design documents
  7. Acquisition of hardware and software infrastructure report: All the overall software developed need and infrastructure to be runned. These infrastructure need to be acquire. The activities carried out in this phase are:
  8. Acquisition of hardware and software infrastructure
  9. nstallation, system configuration and security on the acquired hardware and software infrastructure
  10. Development Documents report: It is composed of the following deliverables:
  • a development report;
  • well-documented source codes in digital format;
  • a test report,
  • Executables,
  • a training plan, as well as the various training modules;

It closes the application development phase. The activities carried out in this phase are:

  1. Acquisition of development environments
  2. Deployment of development environments
  3. Development and Integration of Technical Features
  4. Development and Integration of Business Features
  5. Development and Integration of Security Components
  6. Packaging of the developed system and tests
  7. Writing application Development report
  8. End user training report: It closes the end user training phase. The activities carried out in this phase are:
  9. Identification of users to be trained
  10. Development of training content
  11. Preparation of the training (site, educational tools)
  12. Training
  13. Evaluation of trainers and learners
  14. Writing the Training Report
  15. Deployment and restitution report: It closes the deployment phase. The activities carried out in this phase are:
  16. Identifying the deployment infrastructure
  17. Installation and configuration of the application on site
  18. Verification test
  19. Writing of the deployment report
  20. Preparation and participation in the validation workshop

Please provide a detailed budget breakdown of the proposed work and resources.

The budget proposed in our project will be distributed as follows:

c1-c147d4.png

c2-24e268.png

Who is in the project team and what are their roles?

The team that will be responsible for carrying out the project will consist of:

  1. A project manager (cumulating a professional experience of 12 years and more in software engineering): He is in charge of coordinating the activities of the different members of the team. He defines the different deliverables, he is responsible for the technical and functional specifications, the system architecture and the choice of physical and software infrastructures. He validates the work of the other members of the team. It ensures the availability of resources.
  2. Two computer engineers specialized in software engineering with at least 10 years of experience having a software architect level. They are responsible in collaboration with the project manager for carrying out the design of the system, they coordinate the activities of the developers (04). One is in charge of testing and acceptance of the various deliverables and compliance with security standards in the system. The later will be oriented in the coordination of development activities.
  3. 4 Putus developers, each with at least 5 years of experience. One will be oriented for front-end development and the 3 others will be oriented for back-end development. They will be responsible for producing the code according to the realized design of the system.

All those resources are availabe to the project. We will not be looking to the resources out of the actual team.

How does the cost of the project represent value for money for the Cardano ecosystem?

It is important to remember that what we plan to pay to the resources is not sufficient. It is only an encouragement given to them to participate in the realization of the project. Which means that in terms of value for money we are in a very good proportion.

The amounts proposed represent in reality the half of what should normally be paid.

The whole team is part of the project. When the project will begin to produce profits, these will be shared among the members. This is the reason why we can sacrifice ourselves to achieve our goals.

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00