/TapRoomReact

Primary LanguageJavaScript

Tap Room React

Tap Room Website, 4.29.2019

By Young Liu

Description

This website will allow users to manage a Tap room.

  • SPECS:
    • Users can be able to see a list of all available kegs.
    • Users can be able to see the keg's details, including its name, brand, price, and alcohol content.
    • Users should encounter an error message when visiting an invalid path.
    • Admins can visit the admin section to perform additional functions on the kegs.
    • Admins can edit the properties of the keg by clicking on the edit button.
    • Admins can add a new keg with the specified details by clicking on the add keg button.
    • Admins can sell a pint of the keg by clicking the sell pint button.
    • Admins can't sell a pint anymore when the pints left reaches 0.
    • Admins can delete a keg by clicking the delete keg button.

Component Diagram

Setup/Installation Requirements

  • Clone this Repository ($ git clone https://github.com/youngzliu/TapRoomReact name)
  • Change into the work directory ($ cd TapRoomReact)
  • To edit the project, open the project in your preferred text editor.
  • To run the website, navigate to the directory of TapRoomReact, and then install and start ($ cd TapRoomReact; $ npm install; $ npm run start)

Prompt Questions

  • Unforeseen issues/questions
    • How to set an imported image as a global background image? The Jsx module styling doesn't allow for nested code (needed when referencing the import) and CSS objects don't seem to be able to apply the background image globally (only to the area the component renders). I had to force a min height on the image, which feels hacky.
  • Differences between Angular and React
    • Much easier to manage files in React without having 4 files to manage for each component.
      • Although there isn't really much backend at the moment, purely front end stuff. So maybe it will become more complex later.

Support and contact details

For support find me at Epicodus.

Technologies Used

This website was created using Node.js, Node.js package manager, Webpack, and React.

License

MIT License

Copyright (c) 2019 Young Liu

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.