> For the complete documentation index, see [llms.txt](https://project-match.gitbook.io/project-match/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://project-match.gitbook.io/project-match/untitled-1.md).

# How to: Make A New Feature

This guide shows the front-end, back-end, and typescript code involved in making a new feature (registering a new user) within the Project Match tech stack.

## Here is what we are aiming for:

* Submit button in the react component hooked up to the register Redux action
* New user data is saved in the database and gets returned and saved to Redux store
* Upon action completion, the register page directs to the user settings page

## **Things that need to be done:**

**Front End Setup:**

* [ ] Set up user action to solidify the sequence of actions
* [ ] Set up User and UserAction types file
* [ ] Set up apiService function to handle request / response to server
* [ ] Set up Redux reducer to receive the returned response and save to Redux store

**React Component Setup:**

* [ ] Set up types file for react component props and state
* [ ] &#x20;Set up Register React Component with mapStateToProps, mapDispatchToProps

**Back End Setup:**

* [ ] Create Mongoose User model
* [ ] Set up API route, ensuring compatibility with passportJS
* [ ] Testing the route with Postman
