GithubHelp home page GithubHelp logo

josephlivengood / conquerjs Goto Github PK

View Code? Open in Web Editor NEW
5.0 5.0 0.0 280 KB

Node/Express, MongoDb, ReactJS, Passport Authentication boilerplate for use in future projects for anyone wanting to jump right into making great content with scalability.

Home Page: https://conquerjs.herokuapp.com/

License: BSD 3-Clause "New" or "Revised" License

JavaScript 78.97% HTML 4.02% CSS 17.01%
boilerplate express modular mongodb node passport-authentication-boilerplate reactjs scalability webpack

conquerjs's People

Contributors

josephlivengood avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

conquerjs's Issues

Impl React.js with Webpack/Babel6

  • Setup dependencies
  • .babelrc
  • webpack.config.js
  • NPM scripts to build and watch files in dev
  • MULTIPLE ENTRY POINTS (webpack)
  • EMBEDDED STYLESHEETS ? (webpack)
  • Proposed packaging/structure:
Boilerplate/
  app/
  client/
    app/
      commonComponents/
        */
          index.jsx
      scenes/
        */
          components/
            */
              index.jsx
          style.css
          index.jsx
  public/
    views/
      *.pug
    js/
      *.entry.js
    style/
      *.css

Readme structure outdated

Doesnt reflect React structure impl.

  • Fix readme file structure
  • Simplify sections and link to other .md
  • Create a file just to document usage of dependencies and add ons
  • Update contributing.md for suggesting features and how to set up dev enviro and guidelines for PRs
  • Update installation to reflect needing to build-react before you can start the server

Server Rendering of React

It may be time to get this implemented in a beta branch to test if it'll be worth it in the project. (Or to provide a base with which we can make a tutorial to impli on the boilerplate if the end-user wishes)

Determine a uniform serialization.

We need to determine what kind of data is sent back and in what circumstances can it differ (such as for some users having an array of photos versus another have a single single in the field)

Also, looks like Google doesn't return email in the current scope used and GitHub can have email set to private and not return.

  • Retrieve email of user from Google without req email permissions to view messages/settings/ect
  • Handle absent photo fields with a basic ||
  • Handle private email from GitHub

Readme.md is still empty.

Create content of Readme with:

  • - Info on project structure and methodology
  • - How to install
  • - How to set up (including auth secrets)
  • - How to build
  • - How to run tests
  • - How to make tests
  • - How to run

Optional

  • - How to contribute (until we split into its own file)
  • - How to host, maintain, and monitor performance

License

  • Determine best license for repository.

MIT?

Chai-http tests don't run correctly

We need a way to either initiate the database connection for NPM test commands or to disable the attempt to so we can purely test routes ect. Most likely .ENV variable to set test/production or allow test runner to start database connection and have multiple NPM test commands to allow user to choose if they want to use DB or not.

Boilerplate home/login page

Need to create a home page for the boilerplate with a simple good looking login (as modular as the server to be easily expanded)

Possible dependencies:

  • Bootstrap-social (lightweight stylesheet to format social login buttons for most all services, easy to create and uniform enough to make dynamically based on a single list of just the social strat names)

Document React.js structure

Documentation of current impl and how to expend is NEEDED asap

  • Current structure / why
  • How to adjust for a single page app
  • How to add new entry points in webpack.config.js / why
  • Look into getting feedback and potentially impl optional react router in a separate version/tag/branch POSTPONED

Sample Video proving the projects ease of use

  • 60 second video proving that's all it takes to completely impl a new auth strat from the back to the front react view with no prior coding needed.

Fairly positive I can get this done at a casual pace in 60 seconds

  1. npm install twitter-passport
  2. Add strat file (basically c+p from all others with with 'twitter' instead of 'github' used
  3. Add strat to strat reducer
  4. Add 'twitter' to react authlist (then based on that single entry/word alone, the button and everything is dynamically generated)

Create 'schema' for user that each strategy must use.

Currently this is created in both impl of strategies. We need to create 1 common config that ALL impl will use to prevent mistakes when we add more strategies and also to make changing the initial user document MUCH easier (and avoid further mistakes).

id: profile.id,
name: profile.displayName || 'John Doe',
photo: profile.photos[0].value || '/resources/profile/default.jpg',
email: profile.emails[0].value || '',
created_on: new Date(),
provider: profile.provider || '',
role: 'user'

Also, no mongoose.

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.