Code Monkey home page Code Monkey logo

flowthru's Introduction

flowthru

An event management application.

Flowthru is an open source application that aims to help organize events in a more streamlined manner

Overview

Issues Pull Requests Slack

Node.js Build Go Build

Flowthru is an open source project and is currently under development. There are many ways to participate in the development process. One can:

Please refer to the wiki for more information.

Contributing

If you would like to contribute, please refer to the How to Contribute section of the wiki page. There you can find the following:

Please also view our Code of Conduct

Feedback

flowthru's People

Contributors

dependabot[bot] avatar initjay avatar janeenyamak avatar omolazabal avatar oscardeschamps avatar tchao770 avatar thelonster avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flowthru's Issues

Prepare flowthru for ACM Project Jam

Feature Plan Description

The project will have to be in a state that requires active development roles by the beginning of the Fall 2019 semester.

Approach

In order to complete this feature, the following has to be done:

  • Prepare a presentation that explains the purpose of the project and how students can get involved
  • Prepare a presentation that outlines GitHub use for flowthru
  • Prepare a presentation that outline web development

Additional context

Drafts of the above objectives will be kept tracked of in this issue.

Auth0 API Integration

Feature Plan Description

Implements Auth0 tokens in the API (server). Related to #71

Approach

Will need to simply follow along Golang API Reference and make some slight changes to work with the structure of our golang application.

Set up the Initial State of the REST API

Feature Plan Description

Utilizing Go, the initial state of the REST API that will be set up. This initial state will center around managing users (adding, removing, etc)

Approach

A GoBuffalo environment, without a front-end, will be set up under the /server folder of the application. This will contain the implementation of the REST API

Additionally, a DockerFile with a SQL server will be created for testing purposes.

Implement Intial Database

Feature Plan Description

Using PosgreSQL, a user database will be implemented. The database will be hosted on a Docker image for initial testing, but eventually will be on an AWS RDS instance for production use.

Approach

Design a relational model and an entity relationship model for the User database. Once designed, create a DockerFile with the implementation.

Additional context

Utilize https://www.draw.io/ to create diagrams. Notation of the diagram will be from the Fundamentals of Database Systems book

Complete the Initial state of the Wiki

Feature Plan Description

This issue outlines what the initial state of the flowthru Wikipage should contain. The following should be completed and tracked via this issue:

  • Create "What is flowthru" wiki page
  • Rework "How to Contribute" wiki page
  • Create "Architecture" wiki page

Approach

Drafts will be posted here and reviewed before commit to the wikipage

2020-1 Milestone Plan

Description

This milestone captures initial UI/UX implementations. The application will not be production ready by the end of the milestone

Context

2020 Roadmap

Tasks

List the enhancements that are to be worked on during this milestone.

Management

  • Organize documentation to suit "code > planning"

Ops

  • Simplify instructions & commands to run application
  • Remove ops, front-end, back-end repositories
  • Migrate to Github Actions #96
  • Migrate to yarn to run ALL commands
  • Require Postgres 12

UI/UX

  • Create a simple home page #97
  • Create NavBar #80
  • Create a basic profile page where users can view information about themselves #78

API

  • Migrate to Go 1.14 #100
  • Set up basic API
  • Create wiki with architecture and diagrams

Nav Bar Component

Feature Plan Description

This issue will track the implementation of a Navbar component.

Approach

  • Create use cases
  • Create a component under the components folder
  • Leverage Ant Design to create the component

Possible refactoring of inline CSS to a separate file.

Feature Plan Description

Move the styles from inline JavaScript files into a separate file (.css or .scss) to enable reusable styles.

Approach

Provide specific class names for each component that has a style for it

Question

Thoughts on this refactoring approach?

Create CI/CD Pipelines for Testing and Deployment

Feature Plan Description

A testing and deployment pipeline needs to be implemented in order to allow us to continuously integrate our changes to the application. This pipeline will utilize Travis CI and testing frameworks for Node.js and Buffalo.

Approach

Testing

For testing, a framework has to settled on for the client side and server side of the application. Once the frameworks are settled, a script has to be created to test the applications and the travis.yml file has to be updated to execute the tests.

Deployment

Utilizing the AWS API, deployment will be done via Travis CI upon successful tests.

Useful resources include:

Additional context

Checklist

  • Create Travis CI/CD testing and deployment pipelines
  • Design testing pipeline for front-end
  • Design testing pipeline for back-end

Profile Page Implementation

Feature Plan Description

This issue will track the implementation of a profile page and it's possible components.

Approach

  • Create user cases
  • Create a profile page
  • Create any necessary React components for the page

Update to Go 1.14

Feature Plan Description

Migrate to 1.14 as go modules are ready for production use. This should be the minimal version the application could run in.

Golang App Structure

This issue will track discussion regarding the structure of the Go application

Main logo not rendering properly on Safari

Bug Description

The logo on the "coming soon" page does not appear on smaller screens when using Safari.

To Reproduce

Steps to reproduce the behavior:

  1. Launch Safari on a mobile device, or make the window small on a desktop.
  2. Visit www.flowthru.io
  3. Notice the logo does not appear
  4. Zoom in to make the icon appear

Expected behavior

Image should appear, regardless of aspect ratio

Screenshots

Desktop

  • MacOS 10.14.4
  • Safari

Smartphone

  • Device: iPhone 6s
  • OS: 12.3.1
  • Browser: Safari, Google Chrome

Design Home Page

Feature Plan Description

Design the layout of the home page.

Approach

This should be purely a design and not an implementation. The design should be sketched out via https://www.draw.io/

2019 June - September Milestone Plan

Description

This milestone captures the initial configurations of the web application to prepare for ACM Project Jam.

Time Frame

2019 June 20th - August 24th

Context

Features

GitHub

  • Complete the initial state of the wiki pages #34
  • Complete the markdown files to assist contributors #35

DevOps

  • Create an Elastic Beanstalk (EB) web application & host client DockerFiles #28
  • Create DockerFiles for development and deployment #33
  • Create Travis CI/CD testing and deployment pipelines #37

Server

  • Design the initial state of the database #39
  • Create a simple REST API to access Users #38

Golang Backend Restructure

Feature Plan Description

Implementing restructure that is being discussed on #79.

Approach

The current proposed approach to the structure is:

├── cmd/
│   └── server/
├── flowthru/
│   ├── event/
│   ├── form/
│   ├── org/
│   ├── tag/
│   ├── task/
│   └── user/
├── internal/
│   ├── http/
│   │   └── rest/
│   └── platform/
│       ├── auth/
│       └── pg/
└── pkg/
    ├── create/
    ├── delete/
    ├── enroll/
    ├── follow/
    ├── list/
    ├── privilege/
    ├── send/
    │   ├── invite/
    │   ├── notification/
    │   └── request/
    └── withdraw/

React App Structure

This issue will track discussion regarding the structure of the React application

Migrate to AWS

Feature Plan Description

Migrate the application from Digital Ocean to AWS. This is to ease the complexity of configuring the application with a server.

Approach

  1. Look over AWS Elastic Beanstalk
  2. Host the Client DockerFile to the EB instance
  3. Host the Server DockerFile to the EB instance
  4. Create IAM Roles

Complete Markdown Files to Guide Developers

Feature Plan Description

This issue tracks the development of the CODE_OF_CONDUCT.md and CONTRIBUTING.md files in the flowthru repository.These files need to be completed to help guide developers who would like to get involved

flowthru Repository

  • CODE_OF_CONDUCT.md
  • CONTRIBUTING.md

Rename Client and Server Folders

Feature Description

We should rename both folders to frontend and backend respectively, to avoid repetitive names (there are two server folders) and to make the general flowthru folder a bit more clear. This change will require substantial changes in documentation.

Generate Golang Documentation

Feature Plan Description

Create auto-generate documentation for the Golang application

Approach

  • Leverage GoDoc or Swagger
  • Store documentation in /docs directory

Additional context

Refer to #79 for the application structure

2019 September - October Milestone Plan

Description

This milestone captures initial API and UI/UX implementations for user authentication and user navigation. The application will not be production ready by the end of the milestone

Time Frame

2019 September 23rd - October 25th

Context

Fall 2019 Roadmap

Tasks

List the enhancements that are to be worked on during this milestone.

API

  • Set up Auth0 for application #71
  • Create endpoints to obtain a user's information for the profile page #73

UI/UX

  • Create a landing page where unregistered users can login or create a profile #75
  • Create a profile drop down menu on the top bar. It features the ability to view your profile page and create an organization #80
  • Create a basic profile page where users can view information about themselves #78

Create DockerFiles for the Application

Feature Plan Description

Create DockerFiles for the client and server side of the application. This will be used for AWS deployment and for full stack local development (docker-compose.yml)

Approach

A DockerFile consisting of Node.js will be created in the client directory. Upon running Docker with the file, a front-end environment will be created.

Another DockerFile consisting of a Buffalo environment will be created in the server directory. Upon running Docker with the file, a back-end environment will be initialized.

Lastly, a docker-compose.yml file will be created at the root of the repository to create a full stack development environment.

Additional context

Checklist

  • Create DockerFile for back-end application
  • Create DockerFile for client application

This is a prerequisite for issue #28 as a Docker image of the application is needed for that.

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.