Git Product home page Git Product logo

aria's Introduction

ARIA

CircleCI

Project Description

ARIA (Administration, Registration, and Information Assistant) is a web application solution for the Northern Nevada Music Teachers Association (NNMTA). Previous versions of ARIA were hosted on WordPress and contained performance issues as well as functional problems with certain features for both customers and adminstrators.

This version of ARIA (version 3.0) attempts to solve problems with previous iterations of ARIA by creating a full-stack web application built in React.js, Node.js, and PostgreSQL, along with many other tools. Building the web application from the ground up allows our team to have more control over development and addressing the needs of the customer.

This project is being developed to satisfy the CS 425 - Software Engineering course requirements at the University of Nevada Reno (UNR). Our sponsoring faculty member from the Computer Science and Engineering Department is Dr. Frederick Harris, and our Ph.D. advisor/mentor is Jalal Kiswani.

Team Members

  • Anthony Bennett
  • Nikkolas Irwin
  • Kevin Carlos

Running the application

To run ARIA you will need to do the following:

  1. Install Docker from Docker's website: https://www.docker.com/ -Installing Docker will install Docker-Engine (a client-server application with contains a server, a REST API, and a CLI-client) -Installing Docker will also provide Docker-Compose (a tool for defining and running multi-container Docker applications)

  2. Clone the repository (or if you did that already, pull the most recent changes from GitHub just to be safe).

  3. From the project directory, start up the application by running the two following commands:

	a) docker-compose build 
	b) docker-compose up 

The first Docker command, docker-compose build (without the single quotes) will build the image with the services contained in ARIA's docker-compose.yml file.
The second Docker command, docker-compose up (without the single quotes) builds, (re)creates, starts, and attaches to containers for a service.

  1. If the package.json file is updated, the image will need to be rebuilt. In this case the container will need to be stopped, rebuilt, and restarted using the following sequence of commands:
	a) docker-compose down (to stop the running container)
	b) docker-compose build (to rebuild the image)
	c) docker-compose up (to start the container again after updating the package.json file)

Commands (b) and (c) have been explained previously in section 3. The new command docker-compose down (without the single quotes) will stop any running containers, remove the containers, networks, volumes, and images created by docker-compose up.

Development Workflow (How development of ARIA works)

ARIA is built with two powerful concepts in mind, microservices and containerization. ARIA uses a microservice architecture to provide modularity to the development process. Using microservices allows our project to be broken down into small, composable modules which can be developed separately, continuously, and independently. Another benefit of this approach are maintainability, testing, scalability, and lifecycle automation. ARIA also uses Docker, a lightweight OS container which provides a VM-like execution environment allowing every aspect of ARIA to be packaged into the container. This approach allows our team to collaborate more easily on project requirements since the Docker image can be pushed to our repository and pulled by any team member allowing each of us to run containers locally for development. Finally, microservices in ARIA are orchestrated through Kubernetes, an open-source tool which allows ARIA to have automated deployment, management, scaling, networking, and availability.

Libraries/Tools

  • Docker
  • Kubernetes
  • React.js
  • Node.js
  • Redux
  • Redux Thunk
  • Material UI
  • Express
  • Axios
  • Jest
  • ESLint
  • PostgreSQL

aria's People

Contributors

kevin-carlos avatar dependabot[bot] avatar

Watchers

Anthony Bennett avatar  avatar

Forkers

kevin-carlos

aria's Issues

Create homepage

Home page will be built according to specs on 09/28 meeting

Add 404 Page

Won't need to be wrapped around Shell, just needs to look really nice

Utilize material-ui for its Typography component

Register for an Event

  • Flow should start with Select an event then to select participant or enter participant info

Scaffold basic pages

Pages that need to be done include:

  • Portal
  • Login
  • Competition

Competition and Portal will be passed down data from a container that will fetch relevant data for the Competition selected

Create Shell for ARIA

Shell for the front-end will be built according to specifications made at the review on 09/28

#24 -- Login Page

Requirements:

  • Login form skeleton
  • Input handling
  • User authentication with back end
  • Route to correct role page
  • Space buttons better
    ** Re-position Sign-up

Reformat components

  • Make sure footer is centered

  • Maximum width for components

  • If resolution is over 1000, drawer is open, less than 1000 keep it closed

  • Login Box / Page

  • Correctly format login box to stretch and squeeze

Add ESLint

Should be using some sort of already configured setup for linting (Airbnb, etc)

My Account highlight stepper

In some cases the red highlight stepper correctly centers under the label and in some cases it is off centered

Participants

  • Change default row from 3 to 5
  • Manually enter childrens info during registration and have an option whether or not to save or not save their info
  • When a child is selected, have an option to edit their information/fields; allow double clicking to perform the same operation

Update README with description

Needs to include what the project is about and goals for the project, along with how to get up and running with the environment

Active Registration

  • Add a button to add a registration which redirects to register for an event

  • Remove filter option

  • Add either a color system to display which registrations are pending, fulfilled, etc. or a a status column to display similar information

  • Fix drown down extra information when clicked upon

Remove PropTypes

They're not useful and do not contribute to type safety very well.

Refactor NotFound

It has many issues including not using JSS, having a useless HOC being called on the component, and inconsistent CSS.

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.