Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/marko19907/urban-infusion-website
Urban Infusion front-end, Web Technologies (IDATA2301), spring 2022.
https://github.com/marko19907/urban-infusion-website
frontend github-pages jwt material-ui netlify react react-query redux typescript vite yarn
Last synced: about 6 hours ago
JSON representation
Urban Infusion front-end, Web Technologies (IDATA2301), spring 2022.
- Host: GitHub
- URL: https://github.com/marko19907/urban-infusion-website
- Owner: Marko19907
- Created: 2022-06-11T11:45:16.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-06-21T23:46:36.000Z (over 2 years ago)
- Last Synced: 2023-03-03T23:36:09.060Z (over 1 year ago)
- Topics: frontend, github-pages, jwt, material-ui, netlify, react, react-query, redux, typescript, vite, yarn
- Language: TypeScript
- Homepage:
- Size: 11.3 MB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Urban Infusion website, group 7
This repository contains the frontend made for the Urban Infusion project from NTNU's Web Technologies (IDATA2301) subject.
The project counts towards 60% of the final grade in the subject.The back-end part can be found here: [https://github.com/Marko19907/urban-infusion-server](https://github.com/Marko19907/urban-infusion-server)
[![Yarn build](https://github.com/Marko19907/urban-infusion-website/actions/workflows/main.yml/badge.svg?branch=main)](https://github.com/Marko19907/urban-infusion-website/actions/workflows/main.yml)
### Built With
* [React](https://reactjs.org) - A JavaScript framework for building user interfaces.
* [TypeScript](https://www.typescriptlang.org) - A superset of JavaScript that adds static typing.
* [Yarn](https://github.com/yarnpkg/yarn) - Our package manager.
* [Vite](https://github.com/vitejs/vite) - A fast, next-gen frontend build tool.
* [Material UI](https://mui.com) - React component library.
* [JWT](https://github.com/jwtk/jjwt) - As the authentication mechanism.
* [Netlify](https://www.netlify.com) - Used to deploy the website.## Getting Started
To get a local copy up and running follow these simple steps.
### Prerequisites
This is a list of things you need in order to use this application.
* Node.js
* Yarn#### Downloading the project
**Via HTTPS:**
```sh
git clone https://github.com/Marko19907/urban-infusion-website.git
```
**Via SSH:**
```sh
git clone [email protected]:Marko19907/urban-infusion-website.git
```
or download it directly as a zip from [here](https://github.com/Marko19907/urban-infusion-website/archive/refs/heads/main.zip).### Usage methods
#### Deployment [Recommended]
1. Head to [https://urbaninfusion.netlify.app](https://urbaninfusion.netlify.app) **or** [https://marko19907.github.io/urban-infusion-website/](https://marko19907.github.io/urban-infusion-website/)
to see the website in operation.
This is the preferred method.### Other usage methods
#### Via Vite
1. Make sure you have installed Node.js and Yarn on the system.
2. Download and the extract zip-file **or** clone project to the desired location as specified in the ["Downloading the project"](#downloading-the-project) section.
3. Run the command `yarn install` in the project root.
4. After all the dependencies of project of the project are installed, run the command `vite` in the project root.
5. The website should then be available at [http://localhost:3000](http://localhost:3000)## Project requirements
The application has two main roles:
1. Admin
2. UserAn admin can do everything that a user can but admins can access extra functionality that is not available to users.
A user can:
* [x] Signup and log in
* [x] View products
* [x] Send in an order
* [x] Write a comment for a product
* [x] Edit their own comment
* [x] See other user's commentsAn admin can:
* [x] Add a new product
* [x] Update a product
* [x] Delete a product
* [x] See all user orders
* [x] Mark an order as processed
* [x] See all user comments for each product
* [x] Delete any user comment#### Non-functional requirements for the project
* Responsive design.
* Load data from the backend.
* Follow universal design (accessibility) principles.
* Look aesthetically pleasing, according to current “website trends”.
* Topic is provided by the professor.Our app currently has a predefined admin user and a regular user used under testing:
_Admin:_
* username: admin
* password: admin_User:_
* username: user
* password: userNote: These predefined users are **only** meant to be used for demo and development purposes, they should not be included in a real scenario.
## Disclaimers
* All product images used were fetched from [pngegg.com](https://www.pngegg.com) and are covered by their _non-commercial use only_ license.
* Icons used were either provided by the Material UI component library, provided by the companies themselves, or fetched from [fontawesome.com](https://fontawesome.com)
* The user images used in this project have been generated by an AI and do not depict any person currently alive or dead.