Skip to content

DotDev262/Tickit

Repository files navigation

Tickit

Tickit is a simple and intuitive task management application built with Flutter. It helps you organize your daily tasks, set deadlines, and keep track of your progress. With a clean user interface and essential features, tickit aims to make task management effortless.

Features

  • Task Creation: Easily add new tasks with titles and deadlines.
  • Task Management: Mark tasks as complete, edit, or delete them.
  • Sorting: Sort tasks by title, completion status, or no specific order.
  • User Authentication: Securely sign in with your Google account.
  • Profile Management: View your user profile information.
  • Notifications: Receive reminders for upcoming task deadlines.

Getting Started

Follow these instructions to get a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

Before you begin, ensure you have the following installed:

Installation

  1. Clone the repository:

    git clone https://github.com/your-username/tickit.git
    cd tickit
  2. Install Flutter dependencies:

    flutter pub get
  3. Set up Firebase:

    • Create a new Firebase project in the Firebase Console.
    • Install the Firebase CLI and log in:
      firebase login
    • Associate your Flutter project with Firebase:
      flutterfire configure
      Follow the prompts to select your Firebase project and platforms.
  4. Set up Supabase:

    • Create a new Supabase project in the Supabase Dashboard.

    • Get your Supabase URL and Anon Key from your project settings (API section).

    • Create a .env file in the root of your project and add your Supabase and Firebase keys:

      SUPABASE_URL=YOUR_SUPABASE_URL
      SUPABASE_ANON_KEY=YOUR_SUPABASE_ANON_KEY
      FIREBASE_API_KEY=YOUR_FIREBASE_API_KEY
      

      Replace YOUR_SUPABASE_URL, YOUR_SUPABASE_ANON_KEY, and YOUR_FIREBASE_API_KEY with your actual keys.

  5. Generate Firebase options (if not already generated by flutterfire configure):

    flutterfire configure

Running the Application

To run the application on a connected device or emulator:

flutter run

Project Structure

tickit/
├── android/             # Android specific files
├── assets/              # Application assets (images, fonts, etc.)
├── build/               # Build outputs
├── ios/                 # iOS specific files
├── lib/                 # Dart source code
│   ├── auth/            # Authentication related files
│   ├── exceptions/      # Custom exception classes
│   ├── home/            # Home screen and task display
│   ├── models/          # Data models (e.g., Task model)
│   ├── providers/       # Riverpod providers for state management
│   ├── routes/          # Application routing configuration
│   ├── services/        # Services for API calls (Auth, Todo, Notification)
│   ├── settings/        # Settings screen
│   ├── theme/           # Application theme and styling
│   └── widgets/         # Reusable UI widgets
├── linux/               # Linux specific files
├── macos/               # macOS specific files
├── supabase/            # Supabase related files (e.g., functions)
├── test/                # Unit and widget tests
├── web/                 # Web specific files
├── windows/             # Windows specific files
├── .env                 # Environment variables (ignored by Git)
├── .gitignore           # Specifies intentionally untracked files to ignore
├── pubspec.yaml         # Project dependencies and metadata
└── README.md            # This file

Contributing

We welcome contributions to the tickit project! To contribute, please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix:
    git checkout -b feature/your-feature-name
  3. Make your changes.
  4. Ensure your code adheres to the project's code style. (Run flutter format .)
  5. Write and run tests for your changes:
    flutter test
  6. Commit your changes with a clear and concise commit message.
  7. Push your branch to your forked repository.
  8. Open a pull request to the main branch of the original repository.

Code Style

This project follows the standard Dart formatting guidelines. You can automatically format your code using:

flutter format .

Running Tests

To run all tests in the project:

flutter test

Submitting Changes

When submitting a pull request, please ensure:

  • Your code is well-documented.
  • All tests pass.
  • The pull request description clearly explains your changes.

License

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published