Fullstack Test-
Section 1: Node.js and RESTful APIs (30 Marks)
1. API Development Task (20 Marks)
Create a simple RESTful API using Node.js and Express to manage a list of products.
Each product should have the following fields:
o id (string)
o name (string)
o price (number)
o category (string)
Implement the following endpoints:
o GET /products – Retrieve all products.
o POST /products – Add a new product.
o DELETE /products/:id – Delete a product by ID.
Ensure you:
o Use Express for routing.
o Include basic error handling.
o Use an in-memory array for storing products.
2. Short Answer (10 Marks)
Explain what middleware is in Express and provide an example of a use case.
Section 2: React.js (30 Marks)
1. React Component (20 Marks)
Create a React component to display a list of products. The component should:
o Display the name, price, and category of each product.
o Have a button to delete a product from the list.
Sample product data:
javascript
Copy code
const products = [
{ id: '1', name: 'Laptop', price: 1000, category: 'Electronics' },
{ id: '2', name: 'Shoes', price: 50, category: 'Fashion' },
{ id: '3', name: 'Watch', price: 200, category: 'Accessories' }
];
2. Short Answer (10 Marks)
What are React hooks? Briefly describe the useState and useEffect hooks with
examples.
Section 3: NoSQL Databases (20 Marks)
1. MongoDB Query Task (10 Marks)
Write a MongoDB query to:
o Find all products with a price greater than 100.
o Update the category of a product with a specific id to "Updated Category".
2. Short Answer (10 Marks)
Explain the difference between SQL and NoSQL databases. Provide an example of
when you would prefer NoSQL over SQL.
Section 4: Additional Skills (20 Marks)
1. Git Commands (5 Marks)
Write the Git commands to:
o Clone a repository.
o Create a new branch named feature-login.
o Push the new branch to a remote repository.
2. Docker Basics (5 Marks)
What is Docker, and how does it benefit developers? Provide a basic Dockerfile to
containerize a Node.js application.
3. Debugging & CI/CD (10 Marks)
o Explain two common debugging techniques in a fullstack application.
o What is a CI/CD pipeline and why is it important in software development?
Submission Guidelines
Include all necessary files in your submission.
Ensure your code is well-commented.
If using a Git repository, provide the link.