An open API service indexing awesome lists of open source software.

https://github.com/mineme0812/openfabric-angular-test


https://github.com/mineme0812/openfabric-angular-test

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

        

# Fullstack Junior Developer (Intern) Test

Welcome! and thank you for applying!

## Constraints and restrictions

You are free to use any package or library you see feet as long as you follow these rules:

* 👎 You can't copy and paste from other peoples work

## Submission

Your solution must be uploaded on GitHub, and submit us the link in **max 1 week** after receiving the task.

## Note

Keep in mind that this is the project that will be used to evaluate your skills.
So we do expect you to make sure that the app is fully functional and doesn't have any obvious missing pieces.

# Part 1: Angular (Front-end)

## 1.1 Create a simple Angular application

**Objective**: Assess the candidate's familiarity with the Angular framework and CLI.
**Task**: Create an Angular application with a responsive layout using Angular Material or Bootstrap.

## 1.2 Components, Services, and Routing

**Objective**: Evaluate the candidate's understanding of Angular components, services, and routing.

**Task**: Create an application that displays a list of products, allows adding new products, and provides a detail view
for
each product.

Use components to separate concerns.
Create a service to manage data communication.
Implement routing to navigate between components.

## 1.3 Reactive Forms

**Objective**: Test the candidate's ability to work with reactive forms in Angular.
**Task**: Implement a form to add and edit product details, validating user input and displaying appropriate error
messages.

# Part 2: Back-end (Node.js/Express)

## 2.1 Create a simple API

**Objective**: Evaluate the candidate's experience with Node.js and Express.
**Task**: Develop a RESTful API with Express that supports CRUD operations for the product list.

## 2.2 Middleware and Authentication

**Objective**: Test the candidate's understanding of middleware and authentication in Express.
**Task**: Implement JWT-based authentication for the API and protect specific routes.

# Part 3: Database

## 3.1 Data modeling and CRUD operations

**Objective**: Assess the candidate's ability to work with databases.
**Task**: Choose a database (e.g., MongoDB, PostgreSQL, MySQL), design a schema for the product list, and implement CRUD
operations.

## 3.2 Data validation

**Objective**: Test the candidate's ability to validate data at the database level.
**Task**: Add server-side validation for product details and handle errors appropriately.

# Part 4: Integration

## 4.1 Connect front-end and back-end

**Objective**: Evaluate the candidate's ability to integrate the Angular application with the back-end API.

**Task**: Connect the Angular application with the Express API to create a full-stack application.

## 4.2 Deployment

**Objective**: Test the candidate's knowledge of deploying a full-stack Angular application.
Task: Provide instructions or deploy the full-stack application to a platform like Heroku, AWS, or Google Cloud
Platform.

This test will provide a comprehensive assessment of an Angular Full Stack Developer's skills, covering various aspects
of front-end and back-end development, as well as database and deployment knowledge.