This project is a front-end only react typescript application. The objective and requirements are outlined below.
Your task is to build a form to set up a project in a project management platform, then display that information on a project details page. You should design a typescript interface for the project data and place it in src/models/Project.ts.
Your form should allow the user to set up a project, and should include at a minimum the project name, description, and start date.
Once the user has submitted the form the application should display the information they entered in a project details page.
As a bonus task you can also add a status to the form and allow the user to mark the project as complete from the project details page.
This task is front end only, which means you don't need a database and don't need to store or persist the data.
This task uses typescript. You can find information about the basics of typescript and a typescript cheat sheet below.
https://www.typescriptlang.org/docs/handbook/2/basic-types.html
https://devhints.io/typescript
-
Styling: This project uses TailwindCSS. While we recommend using TailwindCSS to style your components, you're welcome to use any styling approach you're comfortable with.
-
Code Quality: Aim for clean, maintainable, and efficient code. Your approach to solving the tasks should reflect best practices in software development.
-
React Components: Develop a form to capture project information and a details page to display it
- The form should include at least one select field, one date field, and implement some level of form validation.
- Upon form submission, hide the form and display the project details.
- Install the necessary packages using:
npm install
- To start the application, run:
npm run start
- Code Organization: Ensure your code is well-organized and documented where necessary.
- Git Repository: Initialize a git repository in your project directory, commit your changes as you would in a real project environment. It's important to include the
.git
folder with your submission. - Submit Your Work: Once completed, zip the source code (excluding any
build
files andnode_modules
) and return it following the instructions provided by the recruiting team.
These criteria are designed to reflect our company's everyday work style.
- Functionality: The application works as described.
- UI/UX Design: The application should be user-friendly and visually appealing.
- Code Quality: Code readability, maintainability, and efficiency.