Quest Admin with Feathers.js

Phase: Ended

Registration Deadline: May 22, 2024

Submission Deadline: May 29, 2024

Prizes

6000 EGP

1 Place

1500 EGP

2 Place

500 EGP

3 Place

Brief

Code-quests is a platform that helps businesses publish projects (called Quests) and ask a community of developers and designers to compete to build the best, highest-quality implementation or design.

In this quest, the goal is to build a back-office Administration dashboard for our internal team to manage the quests, prizes, etc.

Requirements

  1. You will be invited to access our backend code, built using TypeScript, Node.js LTS, Feathers.js, you will add your changes to this project.

  2. You will generate the Admin dashboard using React-Admin: https://github.com/marmelab/react-admin 

  3. You will connect react-admin using the following provider/adapter for feathers https://github.com/josx/ra-data-feathers  (feel free to use any other adapter)

  4. Given the Database Model below, add the missing Feather Services 

  5. If you win the first prize, you agree to join a publishing session (4-8 hrs) where we deploy the code to our production environment and fix any critical bugs that appear during deployment.

Database Model

Get the diagram source as a Mermaid script
view Database Diagram as image
here or see it in the right side panel

You can find Typescript schema for all models here: https://github.com/code-quests/cq-models/tree/main/src 

Admin Modules

The delivered Admin Dashboard should allow the following usecases:

  1. Add/Edit/List/Delete the following models:

    1. Quests
      (Edit of quest description should enable rich HTML, dates should have date pickers)

    2. Orgs

    3. Category

    4. Prizes
      (status should be a dropdown, paid_on should be a date selector, currency should be dropdown of ISO currency EGP, SAR, EUR, USD only)

    5. Scorecards (Edit allows JSON entry)

    6. Users
      (Role and Status should be a dropdown allows the values configured, password field should not be visible or editable except during creation)

    7. Billing Info
      (dates should be data pickers)

    8. Submissions
      (links will be visible, status should be dropdown, score has maximum of 100, note should allow long multiline text)

    9. Review
      (Note should allow multiline)

    10. Registration
      (Status, role should be dropdowns, and is_approved should be checkbox)

    11. Comments
      (Status should be dropdown)

  2. All Foreign Key Relations should be honored and be displayed as dropdowns during create, edit operation of any model.

Out of Scope

These features are out of scope for this quest and will be built in future quests isA.

  1. Lifecycle management of Quests or Reviews or Prizes (nothing automatically happens on dates)

  2. Review management and notifications.

  3. Submission file upload and management

Acceptance Criteria

Please read the Backend Scorecard to see how the winners will be selected, and how we evaluate the best code submission.

  • Minimum acceptable score is 90 (90% of 100). First, Second, Third place will be the highest score above 80.

  • If two submissions earn the same score, the first submission will get the highest place. 

Quest Ended

📈 Challenge Statistics

 🙋‍♀️Registrations: 10

📦 Submissions: 0
Updated every night 

🗒️ Challenge Details

💪🏼 Difficulty: Intermediate

💯 Evaluation Criteria:
Backend Scorecard

Making the world a better place through competitive crowdsourcing programming.