Giter Site home page Giter Site logo

nearform / titus Goto Github PK

View Code? Open in Web Editor NEW
60.0 81.0 45.0 57.76 MB

Deploy useful features in sprint one

Home Page: https://nf-titus.netlify.app

License: Apache License 2.0

HTML 2.31% JavaScript 44.36% Dockerfile 1.14% CSS 1.30% TypeScript 30.21% HCL 19.65% Shell 0.05% Smarty 0.98%
titus nodejs fastify boilerplate react postgresql authentication

titus's Introduction

 

PLEASE NOTE

Titus has been sunsetted and now exists for reference. It is no longer updated as of July 2022. Thanks for all the support.

 

Logo

 

🚀 A rocket powered jet pack super charged starter kit. 🛠️

From 0 to react front-end, fastify-backend, authentication, with tests, and cloud-ready in about an hour.


 

Lerna

Workflow Name Badge
Frontend CI frontend-ci
Frontend Deploy deploy-frontend
Backend Deploy deploy-backend
DB Manager Deploy deploy-db-manager
Storybook Deploy deploy-storybook

Titus is a production grade, end-to-end stack for modern web application development. It includes DevOps and authentication preconfigured. Titus is a reusable set of packages that deploys your application with minimum effort.

titus's People

Contributors

chrisdwheatley avatar cianfoley-nearform avatar ckiss avatar codeflyer avatar danakim avatar dancork avatar danwilliams avatar dependabot[bot] avatar dgonzalez avatar feugy avatar hizo avatar iamstuartwilson avatar ivanjov avatar jh3y avatar jimmymintzer avatar joezo avatar leorossi avatar mablanco avatar mattarobinson avatar mcdonnelldean avatar neotech avatar petrkohut avatar renovate-bot avatar renovate[bot] avatar ronandoolan2 avatar salmanm avatar simoneb avatar skywickenden avatar temsa avatar thiagokroger avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

titus's Issues

Titus kitchen sink demo app comment feature not working

From pathfinders created by danakim : nearform/pathfinders#267

Description

Out of all the features showcased by the 'kitchen sink' demo app based on the Titus framework deployed at https://titus.nearform.com, the commenting features does not work: https://titus.nearform.com/comments

That's because it tries to open a websocket connection, but it fails with a 'unauth' error. From the console log:

Uncaught (in promise) Error: Connection requires authentication at new o (client.js:1) at i._onMessage (client.js:1) at WebSocket.l.onmessage (client.js:1)

Login Page

  • Remove required tag from input fields to prevent flashing html5 default required box
  • Prevent always redirecting to login on page refresh
  • Add Yup schema validation and use for login form validation

Typings

  • Investigate if there is a way to generate a Typescript / Flow typedefs automatically with low maintenance overhead

or

  • Investigate adding typing support via comments / JSDoc comments

Comments Server

  • Add authentication token for comments server to use in front end
  • Handle errors gracefully if server is not available, current behavior it crashes

Blog post

Write a blog post for nearform.com discussing Titus. Speak to @dberesford for further information on what to cover.

Titus kitchen sink demo app refresh issue

From pathfinders created by danakim : nearform/pathfinders#266

Description

The 'kitchen sink' demo based on the Titus framework, deployed at https://titus.nearform.com has an issue with page refreshes:

Every time a refresh / reload action is triggered from the user's browser, the page returns a 404. That's because the various demo URLs (example: https://titus.nearform.com/autocomplete) do not have any correspondent on the file system so that the Nginx web server can look for and serve. It is controlled by the React app.

NPM modules

Some of the packages need publishing, eg

@nearform/titus-components
@nearform/titus-cli

Not sure starter or kitchen-sink need a module. I see those being packaged up potentially and cloned using something like...

titus starter my-folder
titus kitchen-sink [folder]

ESLint

Leverage create-react-app eslint config because of it's non-opinionated code format linting. All code formatting can be deferred and handled through prettier.

SPIKE - Agile project management functionality

Investigate the ability to add integrated agile management functionality similar to Trello.

Deliverables:

  • Documentation of suggested solution, pros & cons and possible alternatives
  • Small example of possible solution

Redux

After completing #105 #108,

  • Investigate what features would still require redux
  • If not needed, remove redux
  • If redux is removed, either document or have a way to add it back easily if needed

Remove demo data from backend

Currently the backend has demo schema, data and routes. Would be good to isolate this in a demo folder and only install via a script

Create a UserProfile component

This component would display the user avatar in a dropdown style button.
On click it could display additional data and the option to Logout

Authentication

  • Hoist authentication logic into a module / class
  • Make authentication instance available in a React Context

Make Trail migration a command that can be run by titus

I think we should update the trail project so that it exposes a migration command https://github.com/nearform/trail/tree/master/packages/trail-core/database .

I've done it for commentami nearform/commentami@c2fbeb5 and it should be similar for trail.

After that we would need to run that command in our npm run migrate https://github.com/nearform/titus/pull/74/files#diff-6f5e4d666e1d265669b467be68546e92R9 instead of having our own duplication of the trail sql migration.

Reporting Journey

Investigate functionality that would allow an end user to generate a report based on a set of criteria they choose themselves.

Deliverables:

  • Documentation of suggested solution, pros & cons and possible alternatives
  • Small example of possible solution

Create zipped releases

At the moment the cli clones the entire git repo and then copies folders. It would be better to create a zipped release/archive that could be pulled down.

Add Drag & Drop Journey

Investigate drag and drop functionality for arbitrary DOM elements and drag & drop upload functionality for both files & folders.

Deliverables:

  • Documentation of suggested solution, pros & cons and possible alternatives
  • Small example of possible solution

SPIKE - Tree Graph Visualisations

Investigate & document the ability to add tree graph visualisation functionality.

Deliverables:

  • Documentation of suggested solution, pros & cons and possible alternatives
  • Small example of possible solution

Code review

  • needs a big ol' code review, generate a list of improvements from this

Documentation plan

Titus needs a huge amount of documentation. The purpose of this task is to come up with a general documentation site structure. Using docsify and hosting on gh pages would be the frontrunner here, like what we do with Udaru (https://nearform.github.io/udaru/#/)

Wizard Component

Create a wizard component that will allow user to complete several steps

Graphql queries

  • Load graphql queries using .graphql file extension. This is built-in to create-react-app 2.0, which is not released yet. In the meantime, it would be possible to load the file manually by specifying the webpack loader in the import statement
  • Prefer graphql fragments over graphql queries

Theme selector and one custom theme

Titus will form the shell of a new project using material ui. From there it is expected that the material theme will be customised to conform to the customers brand/design system (or in some cases fully replaced).
To help with customising material, let's provide a sample theme with Titus (possibly the new nearForm branding theme), and functionality in the kitchen sink application that will allow for easy switching of themes.

Fake authentication

A component to wrap most of the app. Create some fake auth data and if missing show a dummy login page.

Search functionality

Add search functionality example to the kitchen sink application.

Deliverables:

  • Search functionality added to kitchen sink application
  • Relevant backend functionality added to backend application

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.