Skip to content

Texterra : This is a cool text editing app made for fun, any contributions are welcome, Let's make a fun app with a lot more cool features. Please Star the repository, It will help the repository's reach. Thank you. You can test out the app using the link below. GSSOC'25 Featured.

License

Notifications You must be signed in to change notification settings

may-tas/TextEditingApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

107 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Text Editing App

All Contributors

This project provides an interactive user interface to control font properties such as font size, font family, font color, and font style. Built using Flutter and Bloc for state management, it ensures a modern, responsive, and smooth user experience.

Features

  • Font Size Control:
    • Increase or decrease font size dynamically using intuitive buttons.
  • Font Family Selection:
    • Change font family via a dropdown menu with predefined options.
  • Font Color Control:
    • Select a font color from a palette of predefined colors.
  • Font Style Selection:
    • Switch between different font styles (e.g., bold, italic).
  • Responsive UI:
    • Smooth horizontal scrolling and adaptive design for various screen sizes.

Technologies Used

  • Flutter: Framework for UI development.
  • Cubit: State management for dynamic changes.
  • Dart: Programming language.
  • Material Design: For sleek and intuitive UI components.

Platform Support

Platform Status Version
Android Android βœ… Supported API 33+
iOS iOS βœ… Supported iOS 17+
Web Web βœ… Supported Modern Browsers

How to Run

  1. Clone the repository:

    git clone <repository-url>
  2. Navigate to the project directory:

    cd project directory
  3. Install dependencies:

    flutter pub get
  4. Run the app:

    flutter run

Folder Structure

lib/
β”œβ”€β”€ constants/
β”‚   └── font_family_list.dart
β”œβ”€β”€ cubit/
β”‚   β”œβ”€β”€ canvas_cubit.dart
β”‚   └── canvas_state.dart
β”œβ”€β”€ models/
β”‚   └── text_item_model.dart
β”œβ”€β”€ ui/
β”‚   β”œβ”€β”€ screens/
β”‚   β”‚   β”œβ”€β”€ canvas_screen.dart
β”‚   β”‚   β”œβ”€β”€ save_page_dialog.dart
β”‚   β”‚   β”œβ”€β”€ saved_pages.dart
β”‚   β”‚   └── splash_screen.dart
β”‚   └── widgets/
β”‚       β”œβ”€β”€ background_color_tray.dart
β”‚       β”œβ”€β”€ background_options_sheet.dart
β”‚       β”œβ”€β”€ editable_text_widget.dart
β”‚       └── font_controls.dart
β”œβ”€β”€utils/
β”‚    └──custom_snackbar.dart
β”œβ”€β”€ main.dart

Folder Details

  • constants: Contains app-wide constant values.
    • font_family_list.dart: List of available font families.
  • cubit: Manages application state using the Cubit package.
    • canvas_cubit.dart: Handles business logic for canvas operations.
    • canvas_state.dart: Defines the state of the canvas.
  • models: Contains data models used in the app.
    • text_item_model.dart: Model representing text items on the canvas.
  • ui: Contains user interface components.
    • screens: Holds all screen-related files.
      • canvas_screen.dart: Main screen where the canvas is displayed.
    • widgets: Reusable UI components.
      • editable_text_widget.dart: Widget for editable text items.
      • font_controls.dart: Widget for controlling font properties.
  • main.dart: Entry point of the application.

Prerequisites

  • Flutter SDK
  • Dart SDK

Usage

Font Size Control

  • Use the + and - buttons to adjust the font size.

Font Family Selection

  • Select a font from the dropdown menu to update the displayed text.

Font Color Control

  • Choose a color from the palette to change the text color.

Font Style Selection

  • Add bold, italic styles to your text using additional controls.

Text Alignment

  • Lets you control how your text is positioned horizontally

Highlight

  • Add highlighted colors to your text for dynamic view

Copy

  • Copy the text

Restore Default

  • Lets user to go back to the default view for the text

Demo Video

WhatsApp.Video.2025-09-21.at.00.11.01_ac48a860.mp4
WhatsApp.Video.2025-09-22.at.00.09.52_2d1f20be.mp4

Font Controls UI

image image image image image image

Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository.

  2. Create a new branch for your feature or bugfix:

    git checkout -b feature-name
  3. Commit your changes:

    git commit -m "Add some feature"
  4. Push to your branch:

    git push origin feature-name
  5. Open a pull request.

Support

🌟 If you find this project helpful, please consider giving it a star!
It helps others discover the project and motivates us to keep improving. Your support means a lot! πŸ™Œ

License

This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgments

Special thanks to:

Contributors

may-tas
Satyam Jha
PearlGrell
Aryan Trivedi
ayn-aval
Lavanya L Nair
MannemSumanaSri
Mannem Sumana Sri
preetidas60
Preeti Das
GitMasterJatin
Jatin Sharma
zxnb01
Shaik Zainab
Manar-Elhabbal7
Manar ELhabbal
sandy4242
Sandeep Sarkar
Elwin-p
Elwin
Atomic-Shadow7002
Abhishek Kumar Ray
AnanyaSingh456
Ananya Singh
DMounas
DMounas
debasmitaas
Debasmita C
GauriRocksies
GAURI
Rishi-1512
Ritam Sen
Rudraksha-git
Rudraksha kumar
Charmiseera
Seera charmi
ishita051
Ishita Srivastava | Contributor
pranayshl
pranayshl

Maintainers

Contact

For questions or suggestions, feel free to contact:

About

Texterra : This is a cool text editing app made for fun, any contributions are welcome, Let's make a fun app with a lot more cool features. Please Star the repository, It will help the repository's reach. Thank you. You can test out the app using the link below. GSSOC'25 Featured.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 22