Skip to content

Meeting 2 of Act 1

sfiquet edited this page Feb 23, 2018 · 6 revisions

Proposed Agenda

Date: 22 Feb 2018

Process and workflow

  • Review selected project
  • Define goals and vision
  • Decide communication workflow
    • frequency of team stand-ups (meetings)
    • how do we communicate & ask for help/advice between stand-ups?
      • use Discord in audio mode in the background?
      • discuss on team channel
      • ask for help in #code-help
      • other ideas?
  • Discuss development tools
    • Agile board: We have a Waffle board
    • style guide: Airbnb?
    • Linter: ESLint?
    • Unit testing: Jest? (included with create-react-app, no or little set up)
  • Refine the stack
    • CSS: do we use Bootstrap? SASS? other?
    • Hosting: what are the free options? How do they affect the RDMS we choose?
      • Heroku offers free plans including for databases (see appendix)
      • other?
    • Choose RDBMS (or NoSQL if more appropriate)

MVP

  • make list of features (with user stories)
  • sort features into groups
    • must have (will be in MVP)
    • future work (to add if we finish early)

Other

  • Decide date of next meeting (Ideally Monday, to decide what goes in sprint 1)

Appendix 1: Free database plans in Heroku

https://www.heroku.com/free

  • free plans: PostGres, Redis
    • Heroku PostGres free plan
      • rows: 10K
      • concurrent connections: 20
      • PGBackups: 2 retained
      • rollback: 0 s (not sure what that means)
  • add-ons with free plans: Redis, MongoDB, MySQL, Neo4j Graph
    • ClearDB MySQL: Ignite plan
      • DB size: 5 MB
      • connections: 10
      • nightly backups
    • JawsDB MySQL: Kitefin plan
      • RAM shared
      • storage: 5 MB
      • connections: 10
      • backup retention: 1 day

Appendix 2: To be addressed later

Design the User Interface

  • How do we do this? Tools, designer
  • At what point does it make sense to try and design a good-looking interface (as opposed to a functional one)?

Organise development environment

  • install and configure development tools
  • create skeleton app
    • to have file structure ready so we can work in parallel
    • We can follow the process shown in https://daveceddia.com/create-react-app-express-backend/ which uses:
      • express-generator: generates the express file structure
      • create-react-app: creates a standard React file structure that we can include in a client folder to work with Express

Write contributor guide

  • how to install the development tools
  • how to set up the project locally
  • the development workflow
    • git and Waffle workflow
    • how to use the development tools

Meeting Notes

Workflow

Communication

  • We will have a meeting on Mondays in the afternoon or evening to plan the week's sprint.
  • We will do a standup on Slack every two or three days
  • We agreed to run Discord in audio chat mode (with the mic muted) while we program in order to be reactive to each other's requests. We will review if it was helpful.

Development tools

We agreed to use Airbnb's style guide, ESLint for listing and Jest for testing.

Stack

  • CSS: We will use Flexbox for responsive design, not Bootstrap. We will use SASS.
  • Hosting: Heroku seems the most likely choice
  • Database: Guido suggested to use SQLite but it is not available on Heroku for technical reasons. We need to investigate whether PostgreSQL and JawsDB run on Mac. PostgreSQL does. Technically it might be simpler to just use Heroku's PostgreSQL rather than use a third-party database.

Minimum Viable Product:

  • Features have been identified and have since been defined as issues on the team's Waffle board.
  • We now need to agree which ones are absolutely necessary. They will form the MVP.

User Interface:

Guido and Burak agreed that we need to start designing the user interface. All team members are to propose a basic design in wireframe form.

Actions

  • Set up a recurring meeting on Monday afternoon: Sylvie
  • Do a Standup on Slack every other day: Burak, Guido, Sylvie
  • Run Discord in audio mode when working on the project: Burak, Guido, Sylvie
  • Update list of tools in the Wiki with links: Sylvie
  • Organise voting on features: Sylvie
  • Design wireframe for user interface: Burak, Guido, Sylvie