Reference no: EM133621255
HERO VIRED - FULL STACK DEVELOPMENT INTERN ASSIGNMENT
INSTRUCTIONS:
Tech Stack to be Used: Node.js, Express.js, React.js Database: PostgreSQL
The application and API should be made using Node.js
Free to use any relevant plugins/ packages/ libraries on top of the above mentioned.
Note: Once you are done with the assignment, host it on github(free domain) and share the public link.
TASK 1:
Imagine your institute is launching a new program and enroll students into it. You need to: Write an api for Program resource
- Get one/all programs
- Create Program
- Update Program
- Delete Program
Program Fields
- Name
- Price
- Domain (Ex. Data, Finance, etc.)
- Program Type
- Registrations- open or closed
- Description
- Placement Assurance - Yes/No
- Image url
- University Name
- Faculty Profile(Linkedin URL if available)
- Learning Hours and Duration
- Certificate/Diploma
- Eligibility Criteria
Tasks:
- Please add authentication and all routes should be restricted.
- Use the PostgreSQL database.
- Add proper folder structure.
- Use Coding best practices
- Make assumptions whenever necessary
- Use node js as the programming language
TASK 2:
Create a "Programs" Dashboard using the given UI as reference.
The dashboard has 2 major sections - one to search and navigate different programs and second on the right is to add/ edit/ view the program.
Use the API created in TASK 1 to perform CRUD operations in the forms.
When simply viewing the program, all input type fields should be disabled by default, add an edit button on top right to enter into the edit mode as shown below with Save/ Delete options.
Use assumptions wherever required. Create or use your own dummy data
Checkpoints for Task 2:
1. Search functionality in the dashboard
2. Add/ Delete Program
3. View the program without ability to edit
4. When clicked on edit all fields should be enabled for edit
5. 2 save options- Save Draft and Save options.
BONUS TASK:
Create 2 pages - Signup and Login Page (using 2 factor authentication- OTP over email) Use the API created in TASK 1 to perform CRUD operations in the forms.
Use the below UI for reference and replicate the frontend.
Use sessions to keep the user logged in once they sign in to the Programs Dashboard.
Attachment:- FULL STACK DEVELOPMENT.rar