Skip to content

Commit 036dae5

Browse files
authored
Merge pull request #188 from ani-team/dev
v.0.2.X RELEASE THE KRAKEN!!
2 parents 8d0b291 + e9ee811 commit 036dae5

File tree

109 files changed

+1939
-639
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

109 files changed

+1939
-639
lines changed

.env

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
SKIP_PREFLIGHT_CHECK=true
22
API_GENCOMMENT=/** @generated THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. */
33

4-
REACT_APP_API_URL=https://api.github.com/graphql
5-
# Используется для кодогенерации, Apollo Client плагина
6-
REACT_APP_ACCESS_TOKEN=9221b1b5ba4b0de72eed80b09602ed7b4c73c222
74

85
# Firebase section
96
REACT_APP_FIREBASE_apiKey=AIzaSyABlBQc-tjCRKWwBj8jTTrMiT2M2UKiJpk
@@ -15,3 +12,12 @@ REACT_APP_FIREBASE_messagingSenderId=14406286286
1512
REACT_APP_FIREBASE_appId=1:14406286286:web:58c7c11c2762d36a55c99f
1613

1714
REACT_APP_DEV_STORAGE_URL=https://dev.github-client.gq/dev/temp-stands.html
15+
16+
# Github links
17+
REACT_APP_API_URL=https://api.github.com/graphql
18+
REACT_APP_GITHUB_DOMAIN=https://github.com/
19+
REACT_APP_GITHUB_MAIN=https://github.com/ani-team/github-client
20+
REACT_APP_GITHUB_FEEDBACK=https://github.com/ani-team/github-client/issues/new
21+
22+
# Используется для кодогенерации, Apollo Client плагина
23+
REACT_APP_ACCESS_TOKEN=8709f2ca2f263a81f1de65511485c97c70f653f0

.eslintignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,5 @@ dist/**
33
build/**
44
*.gen.ts
55
.github
6+
public/
7+
.workflows

.eslintrc.js

Lines changed: 60 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,27 @@
1+
/** Разрешенные импорты (с публичными API) */
2+
const ALLOWED_PATH_GROUPS = ["shared", "shared/**", "pages", "features", "models"].map(
3+
(pattern) => ({
4+
pattern,
5+
group: "internal",
6+
position: "after",
7+
}),
8+
);
9+
/** Для запрета приватных путей */
10+
const DENIED_PATH_GROUPS = [
11+
// Private imports are prohibited, use public imports instead
12+
"app/**",
13+
"pages/**",
14+
"features/**",
15+
"shared/*/**",
16+
"models.gen",
17+
// Prefer absolute imports instead of relatives (for root modules)
18+
"../**/app",
19+
"../**/pages",
20+
"../**/features",
21+
"../**/shared",
22+
"../**/models",
23+
];
24+
125
module.exports = {
226
parser: "@typescript-eslint/parser",
327
parserOptions: {
@@ -12,7 +36,7 @@ module.exports = {
1236
browser: true,
1337
es6: true,
1438
},
15-
plugins: ["react", "@typescript-eslint", "@graphql-eslint"],
39+
plugins: ["react", "@typescript-eslint", "@graphql-eslint", "unicorn"],
1640
extends: [
1741
"react-app",
1842
"eslint:recommended",
@@ -25,29 +49,50 @@ module.exports = {
2549
"prettier/react",
2650
],
2751
rules: {
52+
// imports
2853
"import/first": 2,
2954
"import/no-unresolved": 0,
3055
"import/order": [
3156
2,
3257
{
33-
pathGroups: [
34-
"shared",
35-
"shared/**",
36-
"pages",
37-
"pages/**",
38-
"features",
39-
"features/**",
40-
"models",
41-
].map((pattern) => ({
42-
pattern,
43-
group: "internal",
44-
position: "after",
45-
})),
58+
pathGroups: ALLOWED_PATH_GROUPS,
4659
// TODO: Добавить сортировку `import "./index.scss";` (располагать внизу)
60+
// TODO: Добавить сортировку `import *** from "react"` (располагать вверху)
4761
pathGroupsExcludedImportTypes: ["builtin"],
4862
groups: ["builtin", "external", "internal", "parent", "sibling", "index"],
4963
},
5064
],
65+
// TODO: specify message: ("Please use allowed public API (not private imports!)")
66+
"no-restricted-imports": [2, { patterns: DENIED_PATH_GROUPS }],
67+
// variables
68+
"prefer-const": 2,
69+
"no-var": 2,
70+
// base
71+
"camelcase": [1, { ignoreDestructuring: true, ignoreImports: true, properties: "never" }],
72+
"no-else-return": 2,
73+
"max-len": [1, { code: 120 }],
74+
"dot-notation": 2,
75+
"eol-last": 2,
76+
// alert, console
77+
"no-alert": 2,
78+
"no-console": 0,
79+
// equals
80+
"eqeqeq": 1,
81+
"no-eq-null": 2,
82+
// function
83+
"max-params": [1, 2],
84+
"max-lines-per-function": [1, 48],
85+
"arrow-parens": [2, "always"],
86+
// plugin:unicorn
87+
"unicorn/no-for-loop": 2,
88+
"unicorn/no-abusive-eslint-disable": 2,
89+
"unicorn/no-array-instanceof": 2,
90+
"unicorn/no-zero-fractions": 2,
91+
"unicorn/prefer-includes": 2,
92+
"unicorn/prefer-text-content": 2,
93+
"unicorn/import-index": 2,
94+
"unicorn/throw-new-error": 2,
95+
// plugin:graphql
5196
"@graphql-eslint/no-anonymous-operations": 2,
5297
},
5398
overrides: [
@@ -57,6 +102,7 @@ module.exports = {
57102
plugins: ["@graphql-eslint"],
58103
rules: {
59104
"prettier/prettier": 0,
105+
"max-len": 0,
60106
},
61107
},
62108
],

.github/workflows/prod.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
22
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
33

4-
name: Production CI/CD
4+
name: CI
55

66
on:
77
push:

README.md

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,16 @@
11
# github-client
22

3+
![Version](https://img.shields.io/github/package-json/v/ani-team/github-client)
4+
![CI](https://github.com/niyazm524/github-client/workflows/CI/badge.svg?branch=master)
5+
![Website](https://img.shields.io/website?down_message=offline&up_message=online&url=https%3A%2F%2Fgithub-client.gq)
6+
[![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Fani-team%2Fgithub-client&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false)](https://hits.seeyoufarm.com)
7+
![GitHub top language](https://img.shields.io/github/languages/top/niyazm524/github-client)
8+
![GitHub commit activity](https://img.shields.io/github/commit-activity/w/ani-team/github-client)
9+
310
<img alt="favicon" src="https://avatars2.githubusercontent.com/oa/1406180?s=140&u=b44629cbec5079f99a61e6f1b6297bc4797f796b&v=4" height=120 align="right" />
411

12+
> Powered by [Feature Driven Development](https://www.notion.so/Feature-Driven-Development-dfe306d664ae4780bcf999ccdd15e532 "Entire app was designed and builded with FDD core conceptions")
13+
514
GitHub client within the *React Akvelon 2020* course.
615

716
[wiki]: https://github.com/martis-git/github-client/wiki
@@ -22,37 +31,39 @@ GitHub client within the *React Akvelon 2020* course.
2231
<!-- Указаны ссылки на "prod"-стенд как на основной и более стабильный -->
2332

2433
- See repo/collabs list and details of [any user](https://github-client.gq/gaearon)
25-
- See base info of [any public repository](https://github-client.gq/facebook/react) with [branches base manipulating](https://github-client.gq/facebook/react/tree/17.0.0-dev)
34+
- See base info and stats of [any public repository](https://github-client.gq/facebook/react) with [branches base manipulating](https://github-client.gq/facebook/react/tree/17.0.0-dev)
2635
- Use search by [repositories](https://github-client.gq/search?o=desc&q=react&s=stars)/[users](https://github-client.gq/search?o=desc&q=google&s=repositories&type=users) with sorting
27-
- View corresponding page on github <b title="Our routing is identical with github">through origin button!</b>
36+
- Try our <b title="Our routing is identical with github">end-to-end routing with Github</b> with origin button, and specific adaptations on every page!
2837
- Connect with your account safely - [by Github OAuth](https://github-client.gq/auth)
2938
- [Get feedback](https://github-client.gq/some-unexisting-route-but-we-have-error-parking-page) if some errors occurred
39+
- Try our base interactivity on [UserPage](https://github-client.gq/gaearon) - following, starring
40+
- Get the best UX with our **loading && placeholder view logic**
3041
- Try [**github-client right now**](https://github-client.gq) or [last dev version (but unstable)](https://dev.github-client.gq) =}
3142

3243
> If you found issues or have ideas for service - please, [share with us](https://github.com/ani-team/github-client/issues/new) 🔥
3344
34-
<img alt="screen" src="docs/search.png" />
45+
![screen](docs/search.png)
3546

3647
## Technology stack
3748
- **UI**: `react`, `antd`, `classnames`, `tailwindcss`
3849
- **Lang**: `typescript (3.7+)`
3950
- **Fetching**: `graphql`, `apollo-client (3+)`
4051
- **API Codegen**: `graphql-codegen`
4152
- **Routing**: `react-router`
42-
- <b title="Super linting from @martis-git">Tests</b>: `eslint`, `prettier`, `graphql-eslint`, `stylelint`
53+
- **Tests**: `eslint`, `prettier`, `graphql-eslint`, `stylelint`
4354
- **Auth**: `GitHub OAuth`, `firebase`
44-
- <b title="Super CI/CD from @niyazm524">CI/CD</b>: `github-actions`, `firebase`
55+
- **CI/CD**: `github-actions`, `firebase`
4556

4657
<div align="center">
4758
<img title="react" alt="react" height=48 src="https://cdn.auth0.com/blog/react-js/react.png"/>
4859
<img title="typescript" alt="typescript" height=48 src="https://raw.githubusercontent.com/remojansen/logo.ts/master/ts.png"/>
4960
<img title="antdesign" alt="antdesign" height=48 src="https://gw.alipayobjects.com/zos/rmsportal/KDpgvguMpGfqaHPjicRK.svg"/>
5061
<img title="graphql" alt="graphql" height=48 src="https://upload.wikimedia.org/wikipedia/commons/thumb/1/17/GraphQL_Logo.svg/1200px-GraphQL_Logo.svg.png"/>
5162
<img title="apollo" alt="apollo" height=48 src="https://miro.medium.com/max/300/0*xdVGlEH7f9cRVaR-"/>
52-
<img title="eslint" alt="eslint" height=48 src="https://d33wubrfki0l68.cloudfront.net/204482ca413433c80cd14fe369e2181dd97a2a40/092e2/assets/img/logo.svg"/>
63+
<img title="eslint (Super linting from @martis-git)" alt="eslint" height=48 src="https://d33wubrfki0l68.cloudfront.net/204482ca413433c80cd14fe369e2181dd97a2a40/092e2/assets/img/logo.svg"/>
5364
<img title="prettier" alt="prettier" height=48 src="https://prettier.io/icon.png"/>
5465
<img title="stylelint" alt="stylelint" height=48 src="https://camo.githubusercontent.com/aa04feafbd080140cd834905cf171ccf7b06fc5f1f1ae07ce9879218165312d1/68747470733a2f2f63646e2e776f726c64766563746f726c6f676f2e636f6d2f6c6f676f732f7374796c656c696e742e737667"/>
5566
<img title="github" alt="github" height=48 src="https://image.flaticon.com/icons/png/512/25/25231.png" />
56-
<img title="github-actions" alt="github-actions" height=48 src="https://avatars0.githubusercontent.com/u/44036562?s=200&v=4" />
67+
<img title="github-actions (Super CI/CD from @niyazm524)" alt="github-actions" height=48 src="https://avatars0.githubusercontent.com/u/44036562?s=200&v=4" />
5768
<img title="firebase" alt="firebase" height=48 src="https://www.gstatic.com/devrel-devsite/prod/v73fbca10ce7899da426d451b3f74ee09bc6846fcf427552c7e8e85261505ef2c/firebase/images/touchicon-180.png" />
5869
</div>

docs/search.png

28.4 KB
Loading

0 commit comments

Comments
 (0)