Generate Node.js app with GraphQL and REST API from Excel 
Tags: node, graphql, typescript, opensource
Published: 2021-05-20 12:05:31

Working with small businesses over the years, I saw a lot of them working and managing critical business processes using Excel files that start small but quickly grow out of proportion. 
As a developer, the security, scalability, integrity, and durability implications made me feel nervous every single time.

On many occasions, I was asked to build a full-scale app to replace the Excel file once it becomes too risky for the business to keep relying on a spreadsheet.

Like with every project, you have to go through several steps to produce a reliable service:

1. Design the data model based on the excel file.

2. Building the infrastructure (database, ORM, web framework, packages, libraries, etc).

3. Adding authorization and authentication.

4. Making sure everything is written with best practices, security, performance, and maintainability in mind.

That process was tedious and repetitive, even when using an existing boilerplate project.

## What is Recast

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/26kra7okathcqv7y8600.jpeg)
        


Recast was designed exactly for these types of projects to save time and money and bring the development process up to speed in no time, eliminating the painful process.

Recast is built on top of [Amplication](https://amplication.com), an open-source development platform that generates a TypeScript Node.js source code that includes a GraphQL and REST API, authorization, authentication, identity management, logging utility, error handler, and a React admin UI — just by importing a data schema from excel.

The generated source code is automatically pushed to your GitHub repository or you can download the source code in a Zip file. You own your code.

From this point, you can use your favorite IDE to customize the code and add business logic. 

We also made it easy to modify your data models without overriding your custom code every time you re-generate your app, allowing your service to evolve with the business.

## Recast is open-source

As a free, [open-source](https://github.com/amplication/amplication) project, Recast offers developers immediate access to a free and full-featured account to start developing their next Node.JS application from an excel file at https://recast.amplication.com. 

Of course, developers can also freely clone the project source code and run their own local Amplication server.

##So how does it really work?

Step 1 — Select and upload an Excel file or any other flat-file format such as CSV

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rq0uo1tgz77fe3eet3c5.png)

Step 2 — View the data schema that was imported from the file.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hoic90pgfcoujtvf049b.png)

Step 3 — Create additional entities and move fields between entities to normalize your data model.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lj8bqsgbt4ofrdnqkxe5.png)

Step 4 — Click “Create App” and Amplication will generate your Node.JS back-end and a React client.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kyjn2rbzovdbxb10m2kn.png)

Step 5 — The generated source code is automatically pushed to your GitHub repository or you can download the source code in a Zip file. You own your code.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/64l6l7w8f187ue8wp5vf.png)

Step 6 — Deploy your application or use the provided sandbox environment to start working with your GraphQL API, REST API, or Admin UI.

![Recast by Amplication](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o7akrp61815rrgnnbp09.png)

## Read more

Read more about deployment options for your generated application here https://docs.amplication.com/docs/deploy.

Read about customizing your app and adding custom code with your business logic here https://docs.amplication.com/docs/how-to/custom-code.

## Try it now

Start using Recast by Amplication by visiting our website at https://recast.amplication.com/

## Join the community
Join us in building the next generation of development tools by visiting our repo on GitHub https://github.com/amplication/amplication or our discord channel at https://discord.gg/KSJCZ24vj2