Know Africa Project

KNOW AFRICA PROJECT Know Africa project is about African tourism and exploration. The project is aimed at getting all to know about Africa; the countries and diverse sets of cultures (cuisines, traditions, dressings, languages, music, etc) all in one web application. Some African countries are known to suffer bad images and perceptions, this will help fix the problems and improve the economic growth of the continent. Working on the project with teammates has been a new good experience, developing soft skills and the team spirit moving the project forward. First, we had meetings about what the project will entail; the project description, the tools to be used in creating the application, the app architecture, and the app models and features. In the first week, we worked on the chores; setting up the tools for the development, where I set up the development environment with nodejs, expressjs, and sequelize ORM. Afterwards, I was assigned to create the database schema for the Know Africa project, and I came up with 12 models:

  • User
  • Profile
  • Countries
  • Cities
  • Culture
  • Music
  • Food
  • Tourism
  • Historical Facts
  • Security Information
  • Comment
  • Newsletter

Teammates were assigned to two models each, we worked on the migration, seeders, and testing the models using sequelize-test-helpers, I got to work on the user and profile models. The user table contains the parameters users need to sign up on the app; a valid email address, username, and password, where the profile is automatically created, and the user can update their details, that is, the first name, last name and the profile picture, the profile is a way to maintain user-specific data. Creating the 12 models with migration and seeders completing and merging the models' tasks to the develop branch on GitHub took almost two weeks. We are presently working on the core features (sign up/sign in, reset the password, admin can add countries, account verification, user can update profile, etc), this is an interesting part of the development because we get to exercise our problem-solving skills, using core JavaScript. The Know Africa project is a work in progress as we have more core features to work on.