Challenge Overview
Challenge Summary
Welcome to this challenge! In this challenge, we are going to develop the frontend for a new app to manage the Topcoder Talent as a Service(TaaS) offerings from the provided designs.
NOTE: Please note that the timelines for every phase is short than normal challenges.
Project Overview
Gig Work at Topcoder is part of our “Talent as a Service” or TaaS offering. We are building a new application to manage the TaaS offerings, this will be used for creating new gig work job posting, members applying to the jobs, customers reviewing job applications, and finally assigning members to the jobs and managing feedback from both client and members.
For the development, Topcoder is moving towards the micro frontend frameworks where each app will be developed as a micro app which will be served from one frame app. The TaaS application will be one of such micro-app.
We have developed the prototype using micro-frontend in React JS, now we need to integrate this frontend with TaaS APIs.
Technology Stack
Single-spa, React Js, Javascript, Html, CSS, Rest APIs
Browser Requirements
latest Chrome, latest Safari, latest Firefox, latest Edge
Assets
The assets are shared in the forum.
Individual Requirements
Implement the following pages
- My Teams API: GET /taas-teams
- Team Details API: GET /taas-teams/{id}
- Job details API: GET /taas-teams/{id}/jobs/{jobId}
Refer to the prototype pages listed here.
https://mfe.topcoder-dev.com/taas/myteams
https://mfe.topcoder-dev.com/taas/myteams/1
https://mfe.topcoder-dev.com/taas/myteams/1/positions/12
Other changes
In the UI, currently, we are showing the required skills and other skills. Remove that separation and just consider like all skills of jobs are required. Change the title to Job Skills. More detail https://github.com/topcoder-platform/taas-app/issues/1
General Requirements
- Follow the best practices from the single-spa.js
- The lint should be pass
- There shouldn’t be any error in production mode deployment
- Code should be easy to follow/understand for a future developer
- All data should be coming from TaaS API now
- Fix if there any backend APIs need to be fixed
- Healthcheck for the app.
Pointer for data creation and verification. (Refer respective swagger doc shared.)
- POST (create) a v5/project with type talent-as-a-service and get projectid.
- GET v5/skills and v5/users/skills. Note Down userid and skillsID(s)
- POST (create) a v5/Job with ProjectID and SkillsID(s) from above. Note Down id (jobid)
- POST (create) a v5/jobCandidate with above JobId and UserId (from point 2)
- POST (create) v5/resourceBooking with JobId, userid and projectid, and other details. Notedown (id) resourcebooking id
- PATCH resourcebooking as assigned
Note :
- Only assigned resource(s) will be visible for /taas-teams/ and /taas-teams/{projectid}
- Only customer rates will be visible at the frontend.
- In TaaS context projectID = teamID
Winner Responsibility
-
The winner has to submit the Pull Request on Github
-
The winner has to fix the issues found during the review
Final Submission Guidelines
Submit the zip containing
- Git patch or full integrated source code with detailed readme to setup, deployment.
- Verification guide
- Please provide a short video of the app working