/ripster

Primary LanguageJavaScriptMIT LicenseMIT

Ripster

A ripster doesn't do what they do because they want to be cool, they just do it to have fun, the result is they look cool, and people try to do it too.

Hello! That's my own small "framework". I want to use only those technologies that make me excited about them. That means that list of those technologies could change over time.

Actual list of my favorites:

  • Technologies for application:
    • GraphQL is best solution to write truly flexible backend API.
    • Redux is managing local state of client application in functional way. Its way allows you forget about problems of state mutations and gives you many powerful abilities like time traveling.
    • Neo4j is very useful database for data that are weaves like a spider web. At first, its query language seems strange, but after a while comes the realization of all its power.
    • React component library impressively reduces complexity of UI. For me it's not about speed, it's about clearly defined interfaces of all components.
    • React Router is good for applications with any sizes. At least after they're reached version 1.0.
    • Fetch is promise-based HTTP client. I'm using whatwg-fetch for browser and node-fetch for node.
    • Strulidator is my view on how should looks validator of complex nested structures.
    • Express is popular library to write HTTP servers without pain. All my HTTP servers are pretty simple so express fits for all my needs.
  • Technologies for application development:
    • Babel. I love all the new features of ECMAScript! And babel allows me to use those features right now.
    • ESLint keeps my internal perfectionist in comfort.
    • Webpack is very powerful tool that helps me build first-grade releases. Finest tool at current time but not simplest.
    • Forever is used to restart backend server when code is changed by developer. Hot reload everywhere!
    • WebdriverIO is a test runner based on Selenium API. Easiest way to write E2E tests.
    • Cucumber is solution for acceptance and integration tests. It's using native language to describe application behavior.
    • selenium-standalone - CLI wrapper on Selenium. Just run selenium-standalone install and selenium-standalone start to get your Selenium.
    • Chai is assertion library for all kinds of tests.

I believe that best Developer Experience leads us to best User Experience.