A simple app so users can play answering questions.
I have deployed the back-end in Heroku in order to use it for review and testing.
- Server URL: https://quizapp3.herokuapp.com/
- Server OpenAPI Documentation: https://quizapp3.herokuapp.com/api-docs
- Web application: https://quizapp3.netlify.app/
- β Create Roles for "Admin" & "Player".
- β An admin can, create, edit, and delete questions and players.
- β An admin can, have access to a single panel page to manage questions.
- β A player can, see and answers questions, but can't access to the admin's panel.
- β A player can register and sign in.
- β Questions must have the question and at least one correct answer.
- β Should have status published/unpublished.
- β Register and login functionality - Only players can be registered.
- β Landing page with the "published" questions.
- β Admin panel to manage questions and players.
- NestJS for the API: A progressive Node.js framework for building efficient, reliable and scalable server-side applications..
- TypeORM: TypeORM is an ORM that can run in NodeJS and can be used with TypeScript and JavaScript.
- Angular 10+: Angular is an application design framework and development platform for creating efficient and sophisticated single-page app.
For more information I will try to wrap more details in this document
We are going to build a web application which implements a basic Quiz App flow which allows you to learn german by answering questions. As a player you will be able to answer the quiz in just one opportunity, you will be promped when new question arise and it will store your score and history.
I have curated some sketches for the application I want to do. Please checkout the images and additional information in this document
No. | Environment | Detail | Time | Status |
---|---|---|---|---|
1 | server | Generate the project scafolding with NestJS CLI | 5 min | COMPLETED |
2 | server | Create the folder architecture and basic configuration | 15 min | COMPLETED |
3 | server | Add Database MySQL configuration | 10 min | COMPLETED |
4 | server | Add authentication with JWT local and strategy | 2 hour | COMPLETED |
5 | server | Add CRUD for Questions | 1 hour | COMPLETED |
6 | server | Add Quiz Service / Controller | 1 hour | COMPLETED |
7 | client | Generate the project scafolding with Angular CLI | 5 min | COMPLETED |
8 | client | Create the folder architecture and basic configuration | 1 hour | COMPLETED |
9 | client | Added layout and business case customization | 4 hours | COMPLETED |
11 | client | Create NotFoundPage Screen | 10 min | COMPLETED |
12 | client | Add authentication to Angular App | 2 hour | COMPLETED |
13 | client | Add user registration page | 30 min | COMPLETED |
14 | client | Create Player & Admin Side Screens | 2 hours | COMPLETED |
15 | client | Add admin side CRUD functionality for questions/users from API | 8 hours | COMPLETED |
16 | client | Add resuts and unanswered quizzes screens at player side | 2 hours | COMPLETED |
If you want to see the API Enpoints in the planning feel free to review this document.
For the web application routing we are going to use a routing strategy for navigating throght the application, for more details please checkout this document
I have added some extra features in order to provide rich functionality.
- API Documentation with Open Api Specification β Swagger β find the documentation in the
http://<server's URL>/api-docs
For general notes there is a directory called _nodes
which host assets files and some markdown files with some good information about how to create these tasks. See more in the table of contents
This project is based on the MIT license
- Ruslan Gonzalez
- Twitter: @ruslangonzalez