Skip to content

cherylli/chingu-soloproject-evaluation-app

Repository files navigation

Contributors Forks Stargazers Issues MIT License


Logo

Chingu Solo Project Evaluation

An application which helps with chingu.io solo project evaluation
Explore the docs »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. License
  6. Contact

About The Project

This application allows user to evaluate solo projects without needing to have direct access to airtable which access is charged per person. It also has features which improves the efficiency of chingu.io solo project evaluation.

It requires user to be authenticated using github OAuth, then users will be authorized based their roles which is stored in the Chingu airtable.

Feedback is scraped from the soloproject-evaluation repository.

Screenshots

The home screen shows a list of projects to be evaluated, click on the Discord name to go to the detail view home.png

Feedback are shown side-by-side in the desktop view detail.png

(back to top)

Built With

Next
Tailwind CSS
shadcn/ui
TypeScript
Airtable

(back to top)

Getting Started

Prerequisites

To be able to login, you will need (please contact a Chingu admin)

  • an entry in the chingu admin airtable to be able to login with your github account
  • an existing option in the Evaluation dropdown on airtable

(back to top)

Usage

1. Pick a project to evaluate from the home screen.

Projects with an empty "Evaluator" field is unclaimed and available for evaluation.

Note: Product Owner or Scrum Master solo projects are evaluated by the Agile Leadership team.

2. Claim the project

Before starting evaluation, please claim the project by clicking the Evaluate This button. This will set the Evaluator, and Evaluation Date fields in airtable, and the button will be greyed out on success.
This is to ensure that we don't have multiple evaluators work on the same solo project.

evaluate-this.png

3. Enter your feedback in the textarea

Here are some sample feedback (https://github.com/chingu-voyages/soloproject-evaluation#example-feedback)

We copy and paste some pre-defined feedback from the feedback pane but feel free to use your own or add to our collection of feedback by making a pull request in the feedback repository where you can find the link in frontpage of the app.

Note: we don't include feedback with "requested changes" now, as most of the time we don't get a response from them

So with a requested changes project, we would send something like

It's also a good idea to put a note in the comment section about why we are requesting for changes so it's easier for other evaluators and admin to see if they open a ticket.

In this case, we don't need to have the evaluator field set if it's moved quick enough to the requested changes status (remember to save). So anyone is free to evaluate it when it gets moved back to the Waiting Eval status.

A list of requested change conditions can be found in the flowchart below.

4. Select the appropriate 'Evaluation Status', and click Save

This will save the feedback into the Evaluation Feedback field in airtable, and a save confirmation should be displayed on success. (browser alert at this stage)

save.png

Evaluation Statuses

Waiting Eval - Projects awaiting evaluation

Passed - The project has satisfied all the requirements for the tier they applied for

Requested Changes - Changes are requested. Participants are asked to open a ticket. Once they opened a ticket with the additional changes/information, an admin will put it back in the evaluation queue. We also have an automation to email everyone with the "requested changes". Sometimes, they will directly respond to the evaluator in DM which is OK, only issue is that it may take longer for us to action as the particular evaluator might not be available to re-evaluate in a timely manner

Not In Discord - Participant cannot be located in discord.

5. Copy the congratulations message and send it in #ring-the-bell channel on discord

6. DM member with the feedback on discord

Note: Comments can also be added if necessary. Due to the limitations of the airtable API, all comments will be shown as posted by the person who owns the API key, regardless of the user logged in

comments.png

(back to top)

flowchart.png

Roadmap

  • Authentication with github, so we don't have to store user credentials
  • A better confirmation display for actions (save, set evaluator), an alert box is used currently
  • Add Loading state to actions (e.g. save, set evaluator)
  • (Possibly) role based auth for additional admin features
  • Auto scrape feedback repo every x days -> added this but autoscrape every time the feedback repo is updated
  • Save evaluation text in context so progress is not lose on page navigation
  • Comments
    • Show comments
    • Add comments
    • Edit/Delete comments (not sure if I want to implement this)
  • Feedback
    • copy and paste
    • searchable
  • Copy and paste "ring-the-bell" comments
  • Copy and paste feedback based on character count (discord free account limitation)
  • Refactor to add context for functions like setEvaluator, update record, instead of prop drilling
  • Allow posting messages on discord from the app
  • Allow sending emails from the app

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contribution

  1. Setup required API keys
  2. Clone the repo
    git clone https://github.com/cherylli/chingu-soloproject-evaluation-app
  3. Install NPM packages
    yarn install
  4. Rename .env.example to .env.local and add API keys
  5. Setup test airtable tables if required. Airtable structures can be found here

(back to top)

License

GNU General Public License V3

(back to top)

Contact

Cheryl Murphy - cherylli - https://github.com/cherylli

Project Link: https://github.com/cherylli/chingu-soloproject-evaluation-app

(back to top)