You are on page 1of 5

1.

NAME

ReFIZion

A web app that helps students to excel by allowing them to practice past questions
and examine themselves.

2. TEAM MEMBERS

Alale Tamara-kuro Simon (Fullstack Engineer and Team Lead) - responsible for
engineering the whole application. This include designing, choosing technology to
use, development and testing of codes. This will allow me to fully put all what I
have learnt in web engineering into practice.

Cohorts Members – Cohort members who are interested will play advisory role in
the course of the project. This include making technology recommendations,
constructive criticism and even testing the application at different stages of
development. This will allow me leverage on the community knowledge to meet the
objectives of the project.

Technical Mentors and staffs – These persons will guide, give expert advice and
validate the project as it progresses. I see these persons as part of the team and
their role will give quality, value and direction to the project.

3. TECHNOLOGIES

DEVELOPMENT TECHNOLOGIES.

Hardware: A laptop, Internet device.

Software: Microsoft word, Visual Studio Code, VIM, Git and GitHub, Postman,
Trello.

Frontend: HTML5, CSS3, JavaScript (ES6 Syntax) and JQuery.

Backend: Python3, Flask for API, MySQL and SQL for the Database management.

OPERATIONS
Bash Scripts – To automate configuration and deployment.

DEPLOYMENT

An Ubuntu based cloud hosting service.

OTHER OPTIONS

Other option that could be used in place of the aforementioned frontend technology
are ReactJS and Tailwind CSS. The lightweight of HTML, CSS and JavaScript is the
major reason for choosing them when compared to web frameworks like ReactJS
and Tailwind CSS which are heavy and complicated to use. Also, I want to build my
first application with these simple technologies because after now, I may not have
this kind of opportunity again since I may only be working more with frameworks.

For the Backend, alternative options include NodeJS, PostgreSQL for database
management. My choice of Flask and PostgreSQL is due to my familiarity with them
and the timing which does not offer the luxury of a new technology for the project.

4. CHALLENGE STATEMENT

 RefiZion aims to help examination candidate conquer difficult examinations


by compiling and delivering past questions for them to practice and test
themselves in a computer based test fashion while creating a platform for
gathering data for sales and marketing purposes.
 It is not a platform for taking tutorials or lesson.
 Its major user will be students and candidates who are preparing for Multiple
Choice Question (MCQ) examination/interviews.
 ReFIZion is very relevant and not dependent on a specific locale. Most
opportunities like scholarships, job or even entrance examination into
prestigious institutions usually offers tough tests. Preparation for this test can
be challenging since past questions for the test are difficult to access
especially when students/candidates resides very far from the intended
institutions. Even when accessed most past question are in pdf or hard copy
format which does not offer the flexibility of the candidate trying out test in
an examination condition. Our application intends to allow this candidates to
easily have access and practice in an examination condition as many times as
they would want to. Our application will compile past questions, prepare a
timed test with questions randomly selected from the collection of question
and score them after they have taken the test. The only cost is registration
which delivers their contact information for relevant industry to market to
them. This project is not dependent on a specific locale because exams are
written by student all over the world and these students/candidate usually
need past questions and even more to conquer these tough examinations.

5. RISKS

Technical Risks
Risks Potential Impacts Safeguard
Security breach User could lose trust in Ensure that security is
application which could taken into the
have could affect the consideration in the
reliability of the overall design of
application. application.
User trust for application Securing user interaction
could be affect with the application
using SSL certificates.
Data Privacy Breach Dire legal and social Ensure user data
implication. security by ensuring that
the OWASP security
procedure is followed.
Poor User interface Reduce the marketability Employ the service of a
design of the application. UI/UX designer.
Running of A/B testing
to understand users
preferences/wants.
Performance Issues Reduce the marketability Ensure that performance
of the application. is taken into
consideration at every
stage of application
development.
Constant testing to
determine performance
overhead and apply
necessary measure to
reduce them.
Non-technical Risks
Risks Potential Impacts Safeguard
Cost of Failure Failure of this project to Ensure we achieve a
succeed could cost us Minimum working
more time, energy and project from which we
resources and even the can build on.
ALX program in general.
Copyright Breach Breaching of copyright Ensure proper
rules or the use of collaboration with
patented materials product owners to
without permission could prevent copyright
lead to severe legal breaches.
implication which could
affect the success of the Ensure to get the
project. permission of product
owners before use of
patented materials.
(Product here refers to
past questions)
6. INFRASTRUCTURE

Branching and Merging Strategy:

A new branch is created for every new feature to be added to the application. After
a successful pull request, the branch is merged back to the main branch.

Populating reFIZion with data:

A simple console app will be used to populate data into refizion when needed. Two
types of data that will have need for such include admin users and past questions
and answers. The remain data used by the apps will be user generated.

Tools, automation or process for testing: Postman will be used for testing refizon
API. Automation will be done majorly with Bash scripts.

Manual testing will be performed on the user interface to ensure ease of use and
perfect working state for all features and components of the application.

Code reviews will be used to ensure high quality codes. High quality code here
means one that is free of bugs, well documented and follow best practices. Linters
such as pycodestyle for python and ESLint will be used to ensure best coding
practices.

7. EXISTING SOLUTIONS

Jamb CBT practice app: A series of mobile applications students use to practice
from jamb examination is based on similar concept. These applications are specific
to jamb and WAEC only.

Practiceaptitudetests: The link for this website is


https://ww.practiceaptitudetests.com/. It is an online platform used to practice
aptitude test is the greatest competition.

You might also like