|
1 | 1 | # GitCom API
|
| 2 | +<a href="https://circleci.com/gh/gitcomteam/gitcom-api"> |
| 3 | + <img src="https://img.shields.io/circleci/build/github/gitcomteam/gitcom-api/master" alt="chat on Discord"> |
| 4 | +</a> |
| 5 | +<a href="https://discord.gg/gRxPXPn"> |
| 6 | + <img src="https://img.shields.io/discord/658128774679756820?logo=discord" alt="chat on Discord"> |
| 7 | +</a> |
2 | 8 |
|
3 |
| -<a href="https://travis-ci.org/mxss/framework-base"><img src="https://travis-ci.org/mxss/framework-base.svg?branch=master" alt="TravisCI"></a> |
| 9 | +### Description: |
| 10 | +This is the main API of the [GitCom platform](https://start.gitcom.org) available at [api.gitcom.org](https://api.gitcom.org) |
4 | 11 |
|
5 |
| -.net core framework base (more info coming soon) |
| 12 | +### Tech stack: :hammer_and_wrench: |
| 13 | +Project is built using .NET Core and it's based on [Micron framework](https://github.com/mxss/micron) |
6 | 14 |
|
7 |
| -<a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/">Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License</a>. |
| 15 | +Database: PostgreSQL |
| 16 | +ORM: [Dapper](https://github.com/StackExchange/Dapper) |
| 17 | +Migrations: [Phinx](https://github.com/cakephp/phinx) |
| 18 | +Webserver: [NancyFX](https://github.com/NancyFx/Nancy) |
| 19 | + |
| 20 | +## API Documentation |
| 21 | +Check out `swagger.json` file inside repo or view it here: [swagger preview](https://generator.swagger.io/?url=https://raw.githubusercontent.com/gitcomteam/gitcom-api/master/swagger.json) |
| 22 | + |
| 23 | +## Requirements: |
| 24 | +1. .NET Core 2.2 |
| 25 | +2. [composer](https://getcomposer.org/) (PHP dependency manager) - used for migrations |
| 26 | + |
| 27 | +### Set up to develop locally: |
| 28 | +1. restore nuget packages |
| 29 | +2. build project |
| 30 | +3. copy config.example.json into: |
| 31 | +**For main app** |
| 32 | +App/bin/Debug/netcoreapp2.2/config/config.json |
| 33 | +**For unit tests** |
| 34 | +Tests/bin/Debug/netcoreapp2.2/config/config.json |
| 35 | + |
| 36 | +4. edit config files - fill database name / user / etc. |
| 37 | +5. copy migrations/phinx.example.yml to migrations/phinx.yml |
| 38 | +6. edit phinx.yml - fill database user / password etc. |
| 39 | +7. install php & composer dependencies from migrations/composer.json via `composer install` |
| 40 | +8. run migrations (in migrations folder): |
| 41 | + |
| 42 | +`php vendor/bin/phinx migrate` - to migrate with default database (development) |
| 43 | + |
| 44 | +`php vendor/bin/phinx migrate -e testing` - to migrate with test database (used for testing) |
| 45 | + |
| 46 | +9. build and run App.dll inside `App/bin/Debug/netcoreapp2.2/bin` |
| 47 | + |
| 48 | +### Contribution: |
| 49 | +Thank you for considering contributing to this repo, feel free to open a PR with any improvement, feature or bugfix. |
| 50 | +All bugfixes should go into `release/patch` branch |
| 51 | +All new features should go into `release/minor` branch |
| 52 | +All breaking changes should be in `release/major` branch |
| 53 | + |
| 54 | +### Contribution rewards |
| 55 | +For each merged PR you will be rewarded with `contributor` badge and 2500 (or more) GitCom tokens which are tradeable on [Waves Decentralized exchange](https://waves.exchange/dex-demo?assetId2=BkuYDLDunSy7dvep7NgQcmiY4iyqTq3diHwdGPrFUCMC&assetId1=WAVES) (You will need to have a Waves wallet to be able to receive tokens) |
0 commit comments