Client Application for NITTFEST.
- Java-Version – ’12.x’
- Flutter-Version – ‘2.8.x’
- Dart-Version – ‘2.12’ or above
- Android Studio
- Fork and Clone the Repo
git clone <YOUR_FORK_URL>
- Add remote upstream
git remote add upstream <MAIN_REPO_URL>
- To get all the dependencies listed in the pubspec
flutter pub get
- To run the App
MVC architecture using GetX
Modelrefers to all the data and its related logic.
ViewPresent data to the user or handles user interaction
- Implemented using GetView/GetResponsiveView
- GetView is a constant statelessWidget, usually associated with a GetXController
- GetResponsiveView is a screen-width depended widget associated with a GetXController and used in case of responsive UI design.
Controllerrefers to an interface between Model and View components
- Implemented using GetXController.
- Consists of 3 life cycles.
- onInit() : called when controller’s memory allocated
- onReady() : called upon UI widgets appearing on screen
- onClose() : called before the controller gets deleted from the memory
- on: [pull_request, push] to main: This workflow will work whenever someone push or, make a pull request main branch.
- In the steps we are:
- if pull_request
- Run Formatter
- Run Analyzer
- if push
- Build Web-Application.
- Deploy changes using Firebase hosting.
- Visit nittfest website
- if pull_request
Configure git-hooks path
- Run the following command
git config core.hooksPath .githooks
- Runs Formatter
- Runs Analyzer
- Checks for un-committed files
- Runs Test cases
Contributing to Nittfest-Client
Here are the guidelines we’d like you to follow:
Never push directly to main repository (upstream). Only push to your forked repo (origin) and send a pull request to
the main repository
To ensure consistency throughout the source code, keep these rules in mind as you are working:
- The coding style to be followed along with instructions to use flutter_lint
Commit Message Format
Each commit message consists of a header, a body and a footer. The header has a special
format that includes a type, a scope and a subject:
<type>(<scope>): <subject> <BLANK LINE> <body> <BLANK LINE> <footer>
Any line of the commit message cannot be longer 100 characters! This allows the message to be easier to read on github
as well as in various git tools.
Example Commit Message
feat(MainPage): Implement rive animations to MainPage In this PR, * rive assets are added. * rive animations are handled in getx controller
Please follow the conventions followed here.
Also, refer this page on how to write the body