This is the main API of the GitCom platform available at api.gitcom.org
Project is built using .NET Core and it's based on Micron framework
Database: PostgreSQL
ORM: Dapper
Migrations: Phinx
Webserver: NancyFX
Check out swagger.json
file inside repo or view it here: swagger preview
- .NET Core 2.2
- composer (PHP dependency manager) - used for migrations
AL
stands forApplication layer
- contains classes like Controllers, Utility classes (basically all business logic)DL
stands forData layer
- contains models, repositories, custom class bindings etc.PL
stands forPresentation layer
- contains transformers and everything related to data processing / presentation
-
restore nuget packages
-
build project
-
copy config.example.json into:
For main app
App/bin/Debug/netcoreapp2.2/config/config.json
For unit tests
Tests/bin/Debug/netcoreapp2.2/config/config.json -
edit config files - fill database name / user / etc.
-
copy migrations/phinx.example.yml to migrations/phinx.yml
-
edit phinx.yml - fill database user / password etc.
-
install php & composer dependencies from migrations/composer.json via
composer install
-
run migrations (in migrations folder):
php vendor/bin/phinx migrate
- to migrate with default database (development)
php vendor/bin/phinx migrate -e testing
- to migrate with test database (used for testing)
- build and run App.dll inside
App/bin/Debug/netcoreapp2.2/bin
Thank you for considering contributing to this repo, feel free to open a PR with any improvement, feature or bugfix.
All pull requests should go into dev
branch
For each merged PR you will be rewarded with contributor
badge and 2500 (or more) GitCom tokens which are tradeable on Waves Decentralized exchange (You will need to have a Waves wallet to be able to receive tokens)