Git Product home page Git Product logo

commonplace's Introduction

commonplace

Welcome to the Commonplace monorepo, where all modules of the Commonplace platform will live.

The Commonplace platform is based on the PVD Things software suite, but will evolve into a modular community operating system for the web.

The "social network" of the past two decades is dying. People are tired of befriending accounts and speaking with avatars. It's time for a software platform that facilitates REAL social networks to form within and between our communities.

More to come.

Getting Started

Local Development

1. Clone Commonplace and the API

git clone https://github.com/pvdthings/commonplace.git
git clone https://github.com/pvdthings/api.git

2. Install dependencies

In Commonplace and the API project, run npm install.

3. Set up the API

From the API project, follow its local development instructions. Quite a few environment variables need to be set.

4. Run

Once the API is ready, run both projects.

// API
npm start

// Commonplace
npm run dev

commonplace's People

Contributors

dillonfagan avatar

Watchers

 avatar

commonplace's Issues

Section: Membership

Requirements

  • The Membership section is visible from the profile screen
  • The UI is responsive
  • The UI passed ADA guidelines

Required Fields

  • Joined date
  • Renewal date
  • Membership status
  • Dollars Saved (All Time & YTD)

Section: Recent Loans

Requirements

  • In this section, the user can view their recent PVD Things loans in chronological order
  • The UI is responsive
  • The UI passes ADA guidelines

Required Fields

  • Loan Number
  • Checked Out Date
  • Due Back Date
  • Thing Name
  • Thing Image
  • Overdue Status

Logon Strategy

We want logon to be quick and convenient. We all hate remembering usernames and passwords... so let's not have any. Using a "magic link" via Supabase authentication, we will implement a proof-of-concept demonstrating logon using an email address. Given the email address, Supabase will create the user's account and send them an email with an authentication link.

Requirements

  • Only existing PVD Things members (Commonplace users) may authenticate

Optional

  • We are able to check whether an email address is registered prior to attempting the logon (shown on the Logon Screen)

Home Screen

The purpose of this issue is to introduce the Home Screen and to get it ready for the sections it will contain.

Requirements

  • Skeleton is included in the project for our components
  • There is still placeholder text on the screen

Logon Screen

Requirements

  • When reaching the Profile app, the user is greeted with the logon screen
  • Once authenticated, the user is navigated to the profile screen (functionality will be added in a later issue)
  • Clicking the "Log in" button navigates to the Home Screen (if email is filled out)
  • There is input validation for the email
  • The page is responsive
  • The page passes ADA guidelines

Section: Contact Details - Editing

Requirements

  • From the Contact Details section of the profile page, the user is able to edit their details and save
  • There is a loading indication during the save action
  • There is input validation for the fields
  • The UI passes ADA guidelines

Event Tracking Strategy

We need to start tracking events within our apps, so that we can gauge which features are getting used and which are not. Then we will be able to make more informed decisions about future development and marketing.

Preliminary Ideas

  • Custom: track in Airtable, create API route for logging events
  • Custom: track in Supabase, create API route for logging events
  • Existing: Mixpanel, etc.

Section: Recent Loans - Extend Loan

Requirements

  • From the Recent Loans section, the user is able to extend a loan that is still open
  • The loan can only be extended if it is eligible (not already extended)
  • Clicking the 'Extend Loan' button opens the existing PVD Things loan extension form, with the loan number already filled out
  • The UI passes ADA guidelines
  • The UI is responsive

Create Profile Repository

In a new monorepo called commonplace, we will create the project for the Profile app and get it prepared for local development.

Requirements

  • There is an apps folder
  • There is a packages folder (with a README explaining that it is a placeholder)
  • A SvelteKit project called profile sits inside the apps folder
  • The app displays placeholder text
  • The repo has main and develop branches (both are protected)

Additional

  • Turbopack (for running the entire monorepo)

Section: Contact Details

Requirements

  • Placeholder text is removed from the profile screen
  • The user sees the Contact Details section on the page with their info
  • The page is responsive
  • The page passes ADA guidelines

Required Fields

  • Name
  • Home address
  • Email
  • Phone
  • Discord

Technical Notes

  • The API project will have a new profile app route from which details will be retrieved
  • GET /profile/contact

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.