A bunch of team members got the idea to hold trivia on a regular basis and created a webpage to manage the trivia app and play the game, but their API experience is limited and still needs to be built out.
That's where I come in! Help them finish the trivia app so they can start holding trivia and seeing who's the most knowledgeable of the bunch. The application must:
- Display questions - both all questions and by category. Questions should show the question, category and difficulty rating by default and can show/hide the answer.
- Delete questions.
- Add questions and require that they include question and answer text.
- Search for questions based on a text query string.
- Play the quiz game, randomizing either all questions or within a specific category.
Completing this trivia app will give me the ability to structure plan, implement, and test an API - skills essential for enabling your future applications to communicate with others.
The backend directory contains a partially completed Flask and SQLAlchemy server. I will work primarily in __init__.py
to define my endpoints and can reference models.py for DB and SQLAlchemy setup. These are the files I'd want to edit in the backend:
backend/flaskr/__init__.py
backend/test_flaskr.py
View the Backend README for more details.
The frontend directory contains a complete React frontend to consume the data from the Flask server.
- What are the end points and HTTP methods the frontend is expecting to consume?
- How are the requests from the frontend formatted? Are they expecting certain parameters or payloads?
I must pay special attention to what data the frontend is expecting from each API response to help guide how to format my API specially here:
frontend/src/components/QuestionView.js
frontend/src/components/FormView.js
frontend/src/components/QuizView.js
View the Frontend README for more details.
- 📖 About the Project
- 💻 Getting Started
- 👥 Authors
- 🔭 Future Features
- 🤝 Contributing
- ⭐️ Show your support
- 🙏 Acknowledgements
- ❓ FAQ (OPTIONAL)
- 📝 License
Describe your project in 1 or 2 sentences.
[your_project__name] is a...
Describe the tech stack and include only the relevant sections that apply to your project.
Client
Server
Database
Describe between 1-3 key features of the application.
- [key_feature_1]
- [key_feature_2]
- [key_feature_3]
Add a link to your deployed project.
Describe how a new developer could make use of your project.
To get a local copy up and running, follow these steps.
In order to run this project you need:
Clone this repository to your desired folder:
Install this project with:
To run the project, execute the following command:
To run tests, run the following command:
You can deploy this project using:
Mention all of the collaborators of this project.
👤 Author1
- GitHub: @githubhandle
- Twitter: @twitterhandle
- LinkedIn: LinkedIn
👤 Author2
- GitHub: @githubhandle
- Twitter: @twitterhandle
- LinkedIn: LinkedIn
Describe 1 - 3 features you will add to the project.
- [new_feature_1]
- [new_feature_2]
- [new_feature_3]
Contributions, issues, and feature requests are welcome!
Feel free to check the issues page.
Write a message to encourage readers to support your project
If you like this project...
Give credit to everyone who inspired your codebase.
I would like to thank...
Add at least 2 questions new developers would ask when they decide to use your project.
-
[Question_1]
- [Answer_1]
-
[Question_2]
- [Answer_2]
This project is MIT licensed.
NOTE: we recommend using the MIT license - you can set it up quickly by using templates available on GitHub. You can also use any other license if you wish.