Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/champ96k/resume_builder

Build a professional resume for free
https://github.com/champ96k/resume_builder

bloc cv-template dart flutter fluttercommunity hacktoberfest hacktoberfest-accepted hacktoberfest-flutter opensource opensourceproject resume-builder resume-creator resume-template resume-website state-management

Last synced: 14 days ago
JSON representation

Build a professional resume for free

Awesome Lists containing this project

README

        

# Resume Builder

Stand out with a Exceptional resume

## App architecture

- This design pattern helps to separate presentation from business logic. Following the BLoC pattern facilitates testability and reusability. This package abstracts reactive aspects of the pattern allowing developers to focus on writing the business logic.

## Cubit



- A Cubit is class which extends BlocBase and can be extended to manage any type of state. Cubit requires an initial state which will be the state before emit has been called. The current state of a cubit can be accessed via the state getter and the state of the cubit can be updated by calling emit with a new state.

## Bloc



- A Bloc is a more advanced class which relies on events to trigger state changes rather than functions. Bloc also extends BlocBase which means it has a similar public API as Cubit. However, rather than calling a function on a Bloc and directly emitting a new state, Blocs receive events and convert the incoming events into outgoing states.

## Documentation

- [Official Documentation](https://bloclibrary.dev/#/)
- [Flutter Bloc Package](https://github.com/felangel/bloc/blob/master/packages/bloc/README.md)

## Requirements

- [Dart 2.12.0+ (stable channel)](https://github.com/dart-lang/sdk/wiki/Installing-beta-and-dev-releases-with-brew,-choco,-and-apt-get#installing)
- [FVM](https://github.com/leoafarias/fvm) - [Flutter 2.0.1 via FVM](https://github.com/wasabeef/flutter-architecture-blueprints/blob/main/.fvm/fvm_config.json)

## Environment

**iOS**

- iOS 10+

**Android**

- Android 5.1+
- minSdkVersion 21
- targetSdkVersion 30

## Explanation & Project Organization

The project is dived into two parts

- `core` - Contain all core file including bussiness login, bloc,cubit DI,etc
- `src` - Evrything related to UI

## Dependency Injection

- In Flutter, the default way to provide object/services to widgets is through InheritedWidgets. If you want a widget or it’s model to have access to a service, the widget has to be a child of the inherited widget. This causes unnecessary nesting.
- That’s where [get it](https://pub.dev/packages/get_it) comes in. An IoC that allows you to register your class types and request it from anywhere you have access to the container..

_You don’t need to wrap any widgets to inherit anything, or need the context anywhere. All you do is import the service_locator file and use the locator to resolve your type. This means that in places without the context you’ll still be able to inject the correct services and values, even if the app’s UI structure changes._

## Code Style

- [Effective Dart](https://dart.dev/guides/language/effective-dart)

## Assets, Fonts

**If added some assets or fonts**

- Use [FlutterGen](https://github.com/FlutterGen/flutter_gen/)

## Models

**If added some models for api results**

- Use [Freezed](https://pub.dev/packages/freezed)

## Getting Started

### Setup

```shell script
$ git branch -m main develop
$ git fetch origin
$ git branch -u origin/develop develop
$ git remote set-head origin -a
```

### How to add assets(images..)

1. Add assets
2. Run [FlutterGen](https://github.com/fluttergen)