Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ruslanguns/secretsource-quizapp
🎯 A simple app so users can play answering questions
https://github.com/ruslanguns/secretsource-quizapp
Last synced: 7 days ago
JSON representation
🎯 A simple app so users can play answering questions
- Host: GitHub
- URL: https://github.com/ruslanguns/secretsource-quizapp
- Owner: ruslanguns
- License: mit
- Created: 2020-11-10T23:23:24.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2023-12-15T05:58:36.000Z (11 months ago)
- Last Synced: 2024-05-28T17:08:33.651Z (6 months ago)
- Language: TypeScript
- Homepage:
- Size: 1.41 MB
- Stars: 0
- Watchers: 4
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Secret Source QuizApp
## Development has been finished
A simple app so users can play answering questions.
## Demo server
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/## Checklist
### CRUD for both USERS and QUESTIONS
- ✅ 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.
### Views- ✅ Register and login functionality - Only players can be registered.
- ✅ Landing page with the "published" questions.
- ✅ Admin panel to manage questions and players.## Proposed technologies
- **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.![tech slide](_notes/assets/images/SecretSourceQuizAppTechnologies.jpg)
> For more information I will try to wrap more details in this [document](_notes/technologies.md)
## Application goal and sketches
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](_notes/sketch.md)
![APPLICATION MAP](_notes/assets/images/SecretSourceQuizAppApplicationMap.jpg)
## Tasks and estimations
|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** |## API Endpoints
If you want to see the API Enpoints in the planning feel free to review [this document](_notes/apiMap.md).
## Web application routing strategy
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](_notes/clientRouting.md)
## Extras added to the project
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:///api-docs`
## Aditional notes about this project
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](_notes/README.md)
## License
This project is based on the MIT license
## Author
- Ruslan Gonzalez
- Twitter: [@ruslangonzalez](https://twitter.com/ruslangonzalez)