Skip to content

naipaka/onepage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pub Version LICENSE Flutter app code check melos codecov

One Page

One Page

"One Page" is a simple diary app with no input pages or date pages, just "one page only."

screenshot

Packages overview

This project is experimentally divided into packages by feature.

dependency_graph

This package contains the entry point of the application and is the main package of the application.

This package provides a database client for the application.

This package supports the internationalization and localization of the application. All texts for translating the application's text are defined here.

This package provides local notification functionality for diary reminders with timezone-aware scheduling.

This package provides photo management functionality including selection and viewing from device photo library with permission handling and album browsing.

This package provides a type-safe wrapper around SharedPreferences for the application.

This package provides utility functions for the riverpod package.

This package is responsible for the appearance of ThemeData and other appearance-related data used in Flutter apps.

This package provides Firebase Remote Config functionality for the application.

This package provides event tracking functionality for the application.

This package provides utility functions for the application.

This package provides generic widgets for the application.

This package provides the backup feature of the application.

This package provides the diary feature of the application.

This package provides data export functionality supporting multiple formats (CSV, PDF, Markdown).

This package provides haptic feedback functionality with preference-based control.

This package provides in-app review functionality for the application.

This package provides a scrollable calendar.

This package manages application updates.

How to start development

make

The make command will install the required Dart packages, such as FVM and Melos.

Firebase Integration

Run the following commands to generate Firebase configuration files:

For Development Environment

flutterfire configure --out=lib/environment/src/firebase_options_dev.dart --platforms=android,ios --ios-bundle-id=com.naipaka.onepage.dev --android-package-name=com.naipaka.onepage.dev

Move the generated ios/Runner/GoogleService-Info.plist to ios/dev/ directory.

For Production Environment

flutterfire configure --out=lib/environment/src/firebase_options_prod.dart --platforms=android,ios --ios-bundle-id=com.naipaka.onepage --android-package-name=com.naipaka.onepage

Move the generated ios/Runner/GoogleService-Info.plist to ios/prod/ directory.

Environment Variables

Place the following environment variable files in the packages/app/dart_defines directory:

  • dev.env: Development environment variables
  • prod.env: Production environment variables

How to create a new package

If the project name and the output directory name of the package are the same, --project-name can be omitted.

# Package
flutter create -t package packages/{directory_name} --project-name {project_name}
# App
flutter create --org jp.co.altive packages/{directory_name} --project-name {project_name}

How to run tests

To run tests for the project, use the following command:

melos run test

This command will execute all tests defined in the project.

How to build the project

To build the project, use the following command:

melos run build

or

melos run build:watch

This command will build the project for the specified platforms.

How to DB migration

About

One-page-only diary app

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •