Giter Club home page Giter Club logo

proji's Introduction

Proji

The Proji dashboard allows teams to see at-a-glance how certain groups are feeling about a project. And what better way to express feeling than in the parlance of our times โ€” the emoji.

About

Database: PostgreSQL

API: Express.js + Sequelize.js

Authentication: Auth0

Hosting: Heroku

Client-side: React (create-react-app)

Getting Started

  1. clone the directory
  2. yarn && cd client yarn to install dependencies
  3. cp .env.example .env and update the database URI you'd like to use.
  4. Repeat for the .env in the client. You will need to create an app on Auth0 to collect this information.
  5. cp config/config.js.example config/config.js and enter database details. This config is generated by Sequelize.js and will be used to run migrations, create models, etc.
  6. sequelize db:migrate to init the database tables.
  7. yarn start from root to start the server and client app in parallel using npm-run-all

Configuration

While this app is currently configured to run on Heroku it is not necessary. If you build locally, your env vars will be set. If you build on the server, you will need a way to create or set vars in that environment.

Heroku handles the build on the server for us with a simple npm script, heroku-postbuild. However, this also means that without a .env file present at the time of the build, our Node process variables are not set.

Any variables set in a .env file must also exist in your Heroku app under "Settings > Config Vars".

Deployment

If using Heroku, create your app there and follow the instructions to log into the toolbelt, connect the app to the repo and set the remote. You will also need to create config variables for anything found in client/.env.

If you've setup your env variables, migrations should be run automatically. However, if you need to run them manually, you can run

$ heroku run bash
$ sequelize db:migrate

Heroku deploy:

$ git push heroku master

License

MIT

proji's People

Contributors

evanheisler avatar dependabot[bot] avatar

Forkers

softwareforgood

proji's Issues

Project Model/Functionality

Init what a project looks like.

  • Heroku PostgreSQL instance
  • Client status
  • Dev Status
  • CRUD status
  • Optional description
  • GET, POST, PATCH to Heroku via Express

Easier Startup

Combine server and client start commands for better dev experience. We should still have access to the logging.

Break out of Auth0 loop

Auth0 still seems to auto-submit your creds when visiting the log in screen. This means that you cannot switch users, or really ever sign out completely without deleting auth0's cookies.

Setup unauth state

Currently you never really log out because auth0's "remember me" kicks in and just signs you back in. Will need a separate route to prevent this.

Animations

  • Password enter/leave
  • Incorrect password
  • Project "cards" enter

No Auth

Setup --no-auth flag to avoid Auth0 dependency

Init Design

Lets make this presentable.

  • Install Bootstrap
  • Reorganize styles
  • Sass compiling

Authentication

App needs to live behind a password to protect any sensitive information.

  • Setup Express server
  • Auth0 integration
  • Use simple, shareable password for all team members
  • Store JWT in localStorage to resume sessions
  • Add logout button to remove token

Slack Integration

Using a command like /moodboard output a table of each projects' mood status.

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.