Coder Social home page Coder Social logo

juandpt03 / flut_cinematic Goto Github PK

View Code? Open in Web Editor NEW

This project forked from br-programmer/flut_cinematic

0.0 0.0 0.0 2.38 MB

Challenge App Cinema - Challenge of diegoveloper community

License: MIT License

Ruby 0.84% Objective-C 0.02% Kotlin 0.08% Dart 98.65% Swift 0.41%

flut_cinematic's Introduction

Flut Cinematic

Flut Cinematic is your perfect companion for exploring the fascinating world of cinema. With an intuitive interface and innovative features, Flut Cinematic offers you an unparalleled cinematic experience in the palm of your hand.


Key Features:

  • Explore Movies: Dive into a vast collection of movies spanning all genres. From timeless classics to the latest blockbuster releases, FlutCinematic has something for every cinephile.

  • Discover Details: Get detailed information about each movie, including synopsis, cast, user and critic ratings, trailers, and more. Never miss any important details.

  • Advanced Internationalization System: FlutCinematic utilizes an advanced internationalization (i18n) system that allows you to enjoy the app in multiple languages. Easily switch between English and Spanish for a fully tailored experience.

  • Authentication: Utilize a secure authentication system that triggers authentication prompts specifically when a user initiates a purchase transaction. This ensures that authentication seamlessly integrates into the purchase process while remaining unobtrusive during other interactions with the application.

  • Trailer: Users can access movie trailers.

  • Date and Time Selection: Users can choose the date and time of their movie screening according to their convenience.

  • Seat Selection: Users can select specific seats they wish to reserve for the movie screening.

  • Constant Updates: Stay up-to-date with the latest news from the world of cinema, content updates, and new features added regularly to the app.


Getting Started πŸš€

First, create the file launch.json in the .vscode folder following the example launch.json.example, and add the values of the dart-define (Environment variables) in the toolArgs parameter.

Now you must execute the following commands to obtain the packages and generate the necessary code:

flutter pub get
dart run build_runner build --delete-conflicting-outputs
dart run slang
cd packages
cd flut_cinematic_api_client
flutter pub get
dart run build_runner build --delete-conflicting-outputs
cd ..
cd flut_cinematic_common
flutter pub get
dart run build_runner build --delete-conflicting-outputs
cd ..
cd flut_cinematic_data
flutter pub get
cd .. 
cd flut_cinematic_domain
flutter pub get
dart run build_runner build --delete-conflicting-outputs
cd flut_cinematic_firebase
flutter pub get
cd ..
cd flut_cinematic_ui
flutter pub get

This project contains 3 flavors:

  • development
  • staging
  • production

Can you add Environment variables for all flavors,

To run the desired flavor either use the launch configuration in VSCode/Android Studio or use the following commands:

# Development
$ flutter run --flavor development --target lib/main_development.dart

# Staging
$ flutter run --flavor staging --target lib/main_staging.dart

# Production
$ flutter run --flavor production --target lib/main_production.dart

*Flut Cinematic works on iOS, Android.


Working with Translations 🌐

This project relies on slang type-safe i18n solution using JSON files.

Adding Strings

  1. To add a new localizable strings, open the myFeatureName.json file at lib/i18n/en/myFeatureName.json.
{
    "appName": "Flut Cinematic"
}
  1. Then add a new key/value and description
{
    "appName": "Flut Cinematic"
}
  1. Use the new string
import 'package:flut_cinematic/i18n/translations.g.dart';

@override
Widget build(BuildContext context) {
  return Text(texts.misc.appName);
}

Adding Supported Locales

Update the CFBundleLocalizations array in the Info.plist at ios/Runner/Info.plist to include the new locale.

    ...

    <key>CFBundleLocalizations</key>
	<array>
		<string>en</string>
		<string>es</string>
	</array>

    ...

Adding Translations

  1. For each supported locale, add a new Json file in lib/i18n.
β”œβ”€β”€ i18n
β”‚   β”œβ”€β”€ en
β”‚   β”‚   β”œβ”€β”€ misc.json
β”‚   β”‚   β”œβ”€β”€ myFeature.json
β”‚   β”œβ”€β”€ es
β”‚   β”‚   β”œβ”€β”€ misc.json
β”‚   β”‚   β”œβ”€β”€ myFeature.json
  1. Add the translated strings to each .json file:

IMPORTANT: slang does not support _ or - for file names. You must use camelcase. Example myFeatureName.json

i18n/en/myFeatureName.json

{
    "appName": "Flut Cinematic",
    "movie": "Movie"
}

i18n/es/myFeatureName.json

{
    "appName": "Flut Cinematic",
    "movie": "PelΓ­cula"
}

Generating Translations

To use the latest translations changes, you will need to generate them:

dart run slang

flut_cinematic's People

Contributors

br-programmer avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.