Thank you for considering contributing to Triviology! Here are some guidelines to help you get started.
- Project Structure
- How to Contribute
- Suggested Software
- Suggested Extensions
- Code Style
- Setting Up the Development Environment
- Submitting Changes
- Reporting Issues
- License
lib/
: Contains the main source code for the app.main.dart
: Entry point of the application.navigation_widget.dart
: Handles navigation between pages.settings_page.dart
: Page where users can customize their experience.stats_page.dart
: Page displaying user statistics.achievements_page.dart
: Page displaying user achievements.download_page.dart
: Page where users can download other databases/datasets of questions.home_page.dart
: Home page of the application.quiz_page.dart
: Page where users can take quizzes.quiz_settings_page.dart
: Page where users can choose quiz settings.quiz_summary_page.dart
: Page displaying quiz results.
assets/
: Contains images, fonts, and other assets.test/
: Contains unit and widget tests.
Every code file starts with a description too.
- Fork the repository: Click the "Fork" button at the top right of the repository page.
- Clone your fork:
git clone https://github.com/your-username/triviology.git
- Create a branch:
git checkout -b your-feature-branch
- Make your changes: Implement your feature or fix.
- Commit your changes:
git commit -m 'Add some feature'
- Push to the branch:
git push origin your-feature-branch
- Create a Pull Request: Open a pull request on the original repository.
We recommend using the following software for development:
- VSCode/VSCodium: A powerful and lightweight code editor.
Here are some suggested extensions to enhance your development experience:
- Better Comments by Aaron Bond: This extension helps you create more human-friendly comments in your code. It allows you to categorize your annotations into alerts, queries, TODOs, and highlights, making it easier to understand and maintain your code.
- Error Lens by Alexander: This extension highlights errors and warnings directly in the code, making it easier to spot and fix issues quickly.
- Flutter by Dart Code: Provides a rich set of Flutter-specific functionalities, including debugging, IntelliSense, and more.
- Dart by Dart Code: Offers comprehensive support for the Dart programming language, including code completion, debugging, and more.
- GitHub Theme by GitHub: Provides a beautiful and consistent theme for your VSCode, inspired by GitHub's design.
- Material Icon Theme by Philipp Kief: Provides a comprehensive set of icons for various file types and folders, making it easier to navigate and manage your project files.
Feel free to suggest more extensions.
- Follow the Dart style guide: Effective Dart.
- Write meaningful commit messages.
- Install Flutter: Flutter Installation Guide.
- Clone the repository:
git clone https://github.com/yourusername/triviology.git
- Navigate to the project directory:
cd triviology
- Get the dependencies:
flutter pub get
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature-name
- Make your changes and commit them:
git commit -m 'Add some feature'
- Push to the branch:
git push origin feature/your-feature-name
- Create a pull request.
- Use the GitHub issues page to report bugs or request features.
- Provide as much detail as possible, including steps to reproduce the issue.
By contributing, you agree that your contributions will be licensed under the GNU General Public License v3.0. See LICENSE
.