Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mdgspace/codephile-mobile
https://github.com/mdgspace/codephile-mobile
odyssey
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/mdgspace/codephile-mobile
- Owner: mdgspace
- Created: 2019-08-12T17:02:19.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2023-03-25T10:28:01.000Z (almost 2 years ago)
- Last Synced: 2023-08-18T04:32:42.348Z (over 1 year ago)
- Topics: odyssey
- Language: Dart
- Homepage:
- Size: 4.66 MB
- Stars: 22
- Watchers: 20
- Forks: 11
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Codephile
Codephile is an application specially made for all the competitive coders out there. With features like submission feed, contest reminders, user search, and many more, this app is a perfect companion for stalking your fellow coders and learning from them.
## Screenshots
## Getting Started
Project structure:-
```
|- assets { contains icons, images, illustrations }
|- lib
| |- data
| | |- config { contains configuration variables passed at compile-time }
| | |- constants { contains app wide constants like asset strings, colors, routes }
| | |- services { contains ApiService and StorageService }
| |- domain
| | |- models { contains object models }
| | |- repositories { contains repositories according to BLoC architecture pattern }
| |- presentation { contains UI and BLoC code arranged in folders according to app flow }
| | |- components { contains component widgets used throughout the app }
| | |- core { contains important classes including the router and the main_app }
| |- utils { contains utility methods and classes }
| |-main_development.dart { development entrypoint }
| |-main_production.dart { production entrypoint }
|- test { contains widget and unit tests arranged in suites }
```## Setup for development
#### 0. Clone this repo
```
$ git clone https://github.com/mdgspace/codephile-mobile.git
$ cd codephile-mobile
```#### 1. Get dependencies
Fetch pub dependencies required by the app.
```
$ flutter pub get
```#### 2. Generate Freezed models
Some of the code in this app is generate by pub tools.
```
$ flutter pub run build_runner build --delete-conflicting-outputs
```#### 3. Run the app
We've added two `.idea` and `.vscode` folders to help you run the app in your IDE of choice. If those aren't working properly, use the following command.
```
$ flutter build apk --flavor development --target lib/main_development.dart
```## How to Contribute
We'd love to accept your patches and contributions to this project. There are just a few small
guidelines you need to follow.- When contributing to this repository, please first discuss the change you wish to make via the issues section before starting any major work.
- Once you have started work on any issue open a WIP pull request addressing that issue so that we know that someone is working on it.
- While writing any code for this project ensure that it is well formatted and consistent with the architecture of the rest of the project.
- Please make sure that you use the standard [dart nomenclature](https://dart.dev/guides/language/effective-dart/style).
- Before committing any change make sure their is no compilation warning or error.## Commit messages
Please start your commits with these prefixes for better understanding among collaborators, based on the type of commit:
- feat: (addition of a new feature)
- rfac: (refactoring the code: optimization/ different logic of existing code - output doesn't change, just the way of execution changes)
- docs: (documenting the code, be it readme, or extra comments)
- bfix: (bug fixing)
- chor: (chore - beautifying code, indents, spaces, camelcasing, changing variable names to have an appropriate meaning)
- ptch: (patches - small changes in code, mainly UI, for example color of a button, incrasing size of tet, etc etc)
- conf: (configurational settings - changing directory structure, updating gitignore, add libraries, changing manifest etc)
- test: (adding or editting tests)