Phase: Ended
Registration Deadline: June 30, 2024
Submission Deadline: July 7, 2024
1 Place
2 Place
3 Place
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 the authentication system for the Code Quest platform
You will be invited to access our backend code, built using TypeScript, Node.js LTS, and Feathers.js, and our frontend code, built using React js, you will add your changes to this project
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.
Authentication Provider: Auth0 https://auth0.com/developers
Integrate Auth0 to manage user authentication.
Implement both sign-in and sign-up flows.
Ensure proper handling of authentication tokens and session management
Implement role-based access control (RBAC) to manage different user roles.
CodeQuest Backend: how to enable auth0 at feathers https://feathersjs.com/cookbook/authentication/auth0
Integrate Auth0 with your existing codequest backend.
Integrate with authentication APIs for user registration, login, and profile management using Auth0.
Ensure secure communication between the client and server using Auth0 tokens.
CodeQuest Frontend : Auth0 SDK for react https://github.com/auth0/auth0-react?tab=readme-ov-file
Integrate Auth0 into your existing Codequest frontend application.
Embed Auth0 ui or redirect to auth0 then come back
Handle authentication states and display appropriate UI elements based on user status (e.g., logged in, logged out).
Retrieve quests based on the user that already logged-in
High-Level Architecture Diagram
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 90.
If two submissions earn the same score, the first submission will get the highest place.