Giter Club home page Giter Club logo

the-clothing-loop / website Goto Github PK

View Code? Open in Web Editor NEW
22.0 22.0 17.0 158.69 MB

The Clothing Loop is an easy-to-access initiative for swapping clothes with other people in your area or neighborhood. It’s fun, it’s free, it’s sustainable!

Home Page: https://clothingloop.org

License: MIT License

HTML 1.05% CSS 3.81% JavaScript 1.02% TypeScript 63.01% Jinja 0.18% Shell 0.04% Makefile 0.19% Go 29.07% Java 0.12% Swift 0.28% Ruby 0.13% Astro 1.10%
clothingloop fashion ketting kledingruil non-profit sfm

website's People

Contributors

dependabot[bot] avatar emer7 avatar emreesendir avatar gclamigueiro avatar giuliamml avatar guvencb avatar jbijker avatar jnorlando avatar kfless12 avatar lil5 avatar martinl-no avatar mohamed-ah avatar nataliewilson19 avatar navase avatar needadispenserhere avatar ninavanbruggen avatar paloeka avatar pimsauter avatar saakshiraut28 avatar tberm avatar timstokman avatar ydv-ankit avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

website's Issues

Security check backend

  • Check if access control is implemented right, correct if necessary
  • Check if RBAC is implemented, correct if necessary
  • Check for security issues

Update new chain form

  • First: location, then user details
  • Logo on top on both pages

OR

  • Have it on one page

Add option for host to publish a chain

  • A chain should be unpublished when created (not visible on the map).
  • The host should be able to publish the chain, so that it is visible on the map and users can join.

Add room for info text on home page

Maybe next to, or overlaying, the map.

(We might want to discuss which things should be on the home page, or if we want to add a new info page.)

Bugs fix

  • When updating a users details (by the host), their old details seem to sometimes disappear (try editing the phone number)

  • The host can then enter their chain's details at the chain admin page (/chains/:chainId) and publish it (feel free to add these properties and a "published" property to the firebase datamodel)

Add view for host

Functionality

  • The view should allow for a host to see members in their chain, and their associated information
  • The view should allow the host to download the members via CSV

Add view for admins to see which hosts are inactive

What

Some hosts become inactive, and they no longer welcome new members to their loop. This can be bad, because it gives people the idea that the whole app is inactive.

How to fix

Create a view that shows users that have signed up, but are not activated by the host yet (active field on user has to be present for this to work)

Add option for host to add co-hosts

There can be multiple hosts for a chain. They should all be able to login and see/change the member list.

  • Add option for host to select a member as co-host.
  • Add validation that there should be at least one host.
  • Add option for host to remove host role from other hosts.

sizes convention

There should be two different size conventions. One for adults (men's clothes and women's clothes) and a different one for kid's clothing. If the user selects men's/women's clothes, the seizes convention should be the following: XS-S-M-L-XL and highlight S-M-L as standard sizes (for example with a link and a pop-up showing onClick) and for kid's clothing the following: TBC

Pages to modify:

  • NewChainLocation.js
  • ChainEdit.js

Newsletters speficification

In the signup form, differentiate Clothing Loop newsletter and SFM newsletter with link to SFM (Signup.tsx and NewChainSignup.tsx). There are currently two checkboxes with values 'newsletter' and 'actions newsletter', replace these two values with 'Subscribe to The Clothing Loop newsletter' and 'Subscribe to Slow Fashion Movement newsletter'. Respectively, add an onClick event which opens a pop-up with t&c text

Add chain limit option

  • Hosts should be able to add a chain limit (maximum amount of members) when creating a chain.
  • Hosts should be able to edit the chain limit.
  • We display chains that are full in grey on the map.
  • On the card of a full chain, we add a message that the chain is full, but that you can start a new chain.

Add "active" fields to users

Hosts will only add new members to their WhatsApp group every now and then, so it should be clear which members have not been added yet.

  • Members should have a status (active / waiting list).
  • Member status should be displayed in member list for host.
  • Host should be able to edit member status.
  • Nice to have: activate multiple members at once (only if not too much work).

internationalization

The app has already been set up for internationalization with the package i18n, just need to check that all the pages across the app are actually getting translated

'how it works' page

Add a 'how it works' page to the nav bar with an in-depth explanation about the project (see manual as reference) with links to:

  • start new loop (newChainSignup.tsx)
  • join an existing loop (findChain.tsx)

Add weekly email to host which new users have joined

What

Hosts are not constantly checking the app, we can remind them weekly of the new users that joined.

How

Weekly Firebase action that queries the database for new users in that loop, and sends an email if any new users.

display clothing loops as area instead of markers

The main priority for the next stage of development is redesigning how the loop is displayed in the map. Was agreed to let the user decide the target area in the map. This functionality will be implemented in the 'start new loop' flow and reflect how the loops will be displayed in the main map

Style map card

Ideas:

  • Apply project wide styling (withStyles)
  • Wrap title (use card max width)

Add option for visitor to become a host of a new chain

If there is no chain in the users area, the user can start a new chain and becomes a host.

  • Decide where to put this option on the website.
  • The user gets a user account on the website.
  • The user can start a new chain. (Options: in the same form as the user account creation, or as a separate form when logged in).

Add map functionality

Basic functionality

  • The map should retrieve all chains from firebase and display them on the map
  • You can use Mapbox (or any other map API, but Mapbox seems nice)
  • When you click on a marker, a card shows up that show basic chain info: name, description

Advanced functionality

  • A sign up button takes you to the sign up form, with this chain pre-filled

add data conset checkbox to form

At the bottom of each signup form, before the submit button, add a required checkbox for user data consent (at a later stage, we'll add a link to a 'how we use your data' page/popup

Actions for the checkbox:

  • The form should be submitted only if the user ticks the checkbox, alternatively display an error msg
  • The checkbox value should be added to Firebase

Forms are displayed in the following pages:

  • NewChainSignup.tsx
  • Signup.tsx

clothing loops search optimization

When searching for a clothing loop via the search bar on the map (FindChain.tsx) and no matching results are found, let the user navigate either to 'start a new loop' page (NewChainSignup.tsx) or 'about' page (Home.tsx)

Forms implementations

There are few functionalities that need to be reviewed and added on the forms:

  • add comment box on signup to loop form (Signup.tsx)- generate an email to be directed to LoopAdmin (no need to implement with backend for now)
  • add a comment box on the form when starting a new loop (NewChainLocation.tsx) - email should be added to the user data list on firebase and displayed in admin pages (ChainMemberList.tsx)

E-mail notifications for chain frontend

Solves following requirements:

  • Chain member: Gets an email with all information about how to start a chain.
  • User: Gets a confirmation email when joining a chain.
  • Host: Gets an email with all information about how to start a chain. Gets an email every time a new member applies for their chain.
  • Users can unsubscribe from chains with email address: fill in email address, get an email with confirmation link, get removed when clicking said link.

Add form to make a new chain

Functionality

  • The form should allow a user to add a new chain
  • It asks the same info as the sign up form, and additionally where the chain should be (map picker?)
  • Should send welcome email to user and "You will be contacted" text

Process

  • The potential chain is by default not shown on the map, and has to be approved by an admin

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.