Ouiz - Milestone project 3 Code Institute
Summary:
The purpose of the project is to build a full-stack site where user can play quiz, tracked his score and admin can easily modify data base add new questions, delete old ones and to delete users. This site allows user to play short quiz with general knowledge and track his score history
Project has the following sections:
-
Home page contains image and navigation bar with access to login, register, admin
-
Login page contains username field, pasword filed and login button
-
Register page contains fields: first name, last name, username, email, password, confirm password and register button
-
Admin page contains sections: home, user, questions, quiz taken
Structure and design:
Fonts:
- For projects was used font Roboto from Google Fonts
Colors:
-
Dark grey color was used for navigation bar to fit with image on home page
-
Red color was chosen for hover element above of navigation bar
Images:
- Welcome image was downloaded from WallpaperAccess
Wireframes:
UX stories:
As admin I want to:
- easy access change database questions, to add new questions and to delete user
As user I want to:
-
easy to register
-
easy to login
-
to play general knowledge quiz
-
to track my previous score
Technology used:
-
HTML5
-
CSS
-
Python
-
Google Fonts
-
Bootstrap
-
Flask-mongoengine to add package to enable comunication with MongoDB database
-
Flask-WTF standard flask package for WTF forms
-
Flask-Admin-package to enable admin view - to dispaly models and to enable manipulation with data on the website instead rellying on some other GUI tool.
Tools used:
-
Visual code studio
-
Git pod
-
Github used for repository hosting service
-
Herouku used to deploy web application
-
MongoDB used as database storage
-
W3C Validator used to validite HTML code
-
W3C CSS Validation Service Jigsaw to validate CSS code
-
PEP8 online Validator to validate
-
Python code
-
Moquaps used to make wireframes
Testing:
Application was tested on Chrome and Firefix browsers.
Functionality tested:
-
that hover element changing color on navigation bar
-
that every link is opening right template
-
that user registration is functional
-
that login is functional
-
that quiz is functional
-
that admin can delete users
-
that admin can add new or to remove old questions
-
that password matched
-
that password has enough length
-
that username has enough lenght
Code Validation:
-
HTML code was validated using W3C Markup Validation Service, no errors found html html base validator
-
CSS code was validated using W3C CSS Validation Service Jigsaw, no errors were found CSS validator
-
Python code was validated using PEP8 online checker, no errors found main python
-
Jinja templetes were unable to valdidate :
Deployment:
- Project has been deployed at Github and Herouku
Further Development:
- Plans for further development are to add more questions to database, to add more quizzes and to add area to show tables with scores.
Conclusion:
- This project was build only for educational purpose and won`t be in commercial use.