Know Africa
What do people know about Africa? some think everyone is poor, Some think everyone is uneducated there are so many misconceptions about Africa. This is mostly because of false information that people hear and such information may cause Some African countries to lose potential income earned from tourism because Both Africans and some non-Africans may not visit some African countries due to false information they might have heard.
What if there was a place where people can get accurate, useful and, helpful information about Africa?, What if there was a place where we can show everyone the beauty of all of Africa just by a few clicks on their cell phone or computer no matter where in the world someone who needs the information could be. That is how Know Africa was born, the backend team of dev career cohort 2 decided to start building the application that solves the problem of lack of correct information about Africa.
A solid foundation when building anything is required as this could determine the success of that particular thing In software engineering, it is no different, Choosing good technologies for an application is critical and so to build an application like Know Africa which has the potential to grow to become an application with a lot of traffic requires careful planning and a careful pick of technologies to use to build the application. So we spent a significant amount of time choosing technologies to use to build the Know Africa project and we settled on these technologies
- Node js for the runtime environment
- Express js for the backend framework
- PostgresSQL for the database
- Sequelize ORM
- Mocha & Chai for Test-Driven Development
REASONS FOR OUR CHOICE OF TECHNOLOGIES
Nodejs- We are using node js because it easy to scale the applications in nearly every way, so know Africa can grow and the performance of the application would not be affected.
Expressjs - Express.js is a modular web framework for Node.js. It is used for easier creation of web applications and services. Express.js simplifies development and makes it easier to write secure, modular, and fast applications.
PostgreSQL - PostgreSQL is the world’s most advanced open source database. It offers many advantages such as:
- GUI database design and administration tool
- Extensibility since all the source code is open source if any need for customizations of the database it can easily be done.
- reliability and stability
- Better support than other proprietary vendors
Sequelize ORM - Sequelize is a powerful library in Javascript that makes it easy to manage a SQL database which we are using because Know Africa's data has a lot of relations which can be better managed by a relational database compared to a document-based database
mocha js - Mocha is a feature-rich JavaScript test framework running on Node.js and in the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting while mapping uncaught exceptions to the correct test cases.
chai js - Chai is a BDD / TDD assertion library for node and the browser that can be delightfully paired with any javascript testing framework. Chai has several interfaces that allow the developer to choose the most comfortable
What kind of information will Know Africa Provide
Know Africa is an open-source application that will provide access to information about all 54 independent African countries to anyone around the world, Know Africa will provide information such as
- Security information about African countries, Which places are safe to visit?
- Tourist centers that are available in Africa
- Information about different cultures, languages, traditions, music, dressing and, mannerisms in Africa
- Information about the different countries in Africa
- and so much more!
Know Africa will be a Very useful application to everyone that wants to know Anything about Africa. Know Africa is currently in development by the Dev Career cohort 2 backend team, Most of the work has already been done, some of the work that has already been done is
- Setting up the development environment
- Deploying the API to Heroku for testing
- Creating the database Models, migrations, and seeders
- User authentication
Know Africa will be available for the public as soon as the core features are built and hopefully it will solve the problem of lack of information about our beautiful Africa.