takes the tedious of of web development, leaving the fun to you.
Zero config full stack solution for your web project including:
- HTTP/HTTPS server
- GraphQL API
- Redux state
- Server Side Rendering
- Service worker
- Web app manifest
- Webpack build
- Lint rules
- Jest testing library
- Language support
- CMS
- Git integration
- With GitHub PullRequest and Issue reporting
- Command Line Interface
- Authentication
- Statistics and tracking
- Styleguide with patterns, components, views and guidelines
- Predifined ready to use components
- WebSockets real update
- Hot module reloading
- Component playground
- Online Live editor
- Documenation tool
- Supports
- Flow types
- Typescript
- React
$ yarn add @tds/core $ tds init
core [parser, server, provider, app, api, styleguide, sandbox] cli [build, git]
Use prebuilt components and just write markup to quickly create bulding blocks, where you can create and modify the content to get proptypes up and running in minutes.
Automatically creating routes for each view component
Automatic documenation and sandboc playground for each component displaying every component/view in the system
Content managment based on View props and graphQL queries to easy create and modify content for each view. By refering to the lang module, every instance using lang.translate() will be available for translation into any language.
Define the graphql schema and they are autmatically available to use. Where no resolvers are available we will fill the empty blanks using faker data, but you can also create suitable resonses directly in the online CMS.
TDS sets up an API for handling external and internal request, managing permissions, proxy for graphql resolvers and making CMS content available for external application, like native applications or deployed web applications.
Do the heavy lifting managing server side rendered routes, making the application load faster with content already fetched and state.
Creating a service worker which for production mode will intercept any request and manage fallback from cache when no connection is available.
For development TDS automatically sets up a development environment with webpack dev server, hot module reloading, browsersync (allowing you to sync multiple browsers/devices wile interacting with one). And also sets up a default setup for working with Unit tests, flow types or typescript, redux developer tools, eslint, prettier and webpack loaders to make your development process quicker and easier.
Working with components should be fun, and refering to them needs to be easy to identify. A child could do it, and so can you.
Patterns and guidelines
Reusable components
Collectables
Complete creations
Screw drivers and superglue
Layout templates for foundation
npm link modules
$ cd core && npm link && cd ..
$ cd build && npm link && cd ..
$ cd store && npm link && cd ..
$ cd server && npm link && cd ..
$ cd parser && npm link && cd ..
link dependencies
$ cd core && npm link @tds/parser && npm link @tds/server && npm link @tds/build && cd ..
$ cd build && npm link @tds/store && cd ..
$ cd server && npm link @tds/build && cd ..
$ tds init
Name of application:
Framework: [React, Vue, Angular, Polymer]
GraphQL: [yes/no]
Redux: [yes/no]
EnableSSL: [yes/no]
Authentication: [Google, Facebook, Azure, password, none]
setting up your design system ........ done
creating remote repository .... done
deploy application running `git push production master` or `tds deploy`
$ tds start
Building assets .... done
Building styles .... done
Buildning application .... done
Generating icons .... done
Creating manifest .... done
Adding service worker .... done
----------------
Server running on http://localhost:1234 or https://localhost:1234
GraphQl server running on http://localhost:1234/graphql or https://localhost:1234/graphql
Styleguide running on http://localhost:1234/styleguide or https://localhost:1234/styleguide
$ tds build
Building assets .... done
Building styles .... done
Buildning application .... done
Generating icons .... done
Creating manifest .... done
Adding service worker .... done
$ tds deploy
git push production <currentBranch>:master
$ tds eject
Creating webpack configuration .... done
Creating babel configuration .... done
Creating postCSS configuration .... done
Updating lds.config.js
Build will use webpack.config.js for future bundles
$ tds inject
Updating lds.config.js
Build will use predefined config for future bundles
@tds/core CLI, parser, config
- Parse structure and build extend config object
- Listen for tds commands and import appropriate modules
@tds/build app, webpack, postcss, providers
- Build application creating a app root with routes based on config and views
- Build server side rendered version of app with same routes
- Optimize build based on mode and config
- Generate favicons
- Generate web app manifest and service worker.
@tds/server koa, @tds/build, graphql, api, ssl, ws, static
- Create HTTP/HTTPS server hosting application
- Setup GraphQl endpoint
- setup REST api enpoints
- serve static assets
@tds/db Setup a mongoDB client, with users, assets and collections.
@tds/api An API with REST endpoints to control database
@tds/graphql GraphQL schema creator based on model collections in DB and user defined schemas in code
@tds/cms UI to create and manage collections and it's content and content types. Depending on types default content can be generated on new entries.
@tds/authentication Manage roles and user permissons based on certain authentication strategies
@tds/styleguide server, mdx, sandbox, editor, git
- Create a new server (or extend endpoint on existing) serving a documenation of application
- Identify proptypes, setup playground display documentation
- Trigger GIT (current branch) Pull Request for changes
@tds/deploy git, netlify,
- Build and