Topics Manager
Serverless App to manage GitHub repos' topics
General pre-requisites
- Node.JS 10+ LTS
- Yarn
Local development pre-requisites
- Register a new OAuth application
- Fill anything in all the fields
- But set callback url as
http://localhost:3000/auth/github/callback
- Hit "Register application"
- Copy
Client ID
and Client Secret
- Rename
.env.example
to .env
and update it with your secrets accordingly. See dotenv usage example for reference.
Getting started
git clone git@github.com:iamstarkov/topics-manager.git
cd topics-manager
yarn
Available scripts
yarn dev
to run local next.js server
yarn test
to run tests
yarn format
to format source code
yarn lint
to lint source code
yarn validate
to run yarn lint
and yarn test
together, used for pre-push
git hook
Developer Experience stack
- Babel for transpiling
- Jest for tests
- Prettier for stylistic formatting
- Eslint for non-stylistic linting
- Lint-staged for formatting and linting and staged files
- Husky for consistent git hooks
General Tech stack
- next.js—framework for isomorphic react apps
- react—framework for predictable UIs
- redux—state management library
- styled-components—styling library
Integrations
- Renovate to update to new dependencies' versions for performance/security reasons
- Travis CI to validate every pull-request
- Now Cloud to automatically deploy every pull-request in its own staging environment and commits to master to production
License
MIT © Vladimir Starkov