Files
mohamed-node-mod-1/README.md

75 lines
1.8 KiB
Markdown

# ![Node/Express/Prisma Example App](project-logo.png)
[![Build Status](https://travis-ci.org/anishkny/node-express-realworld-example-app.svg?branch=master)](https://travis-ci.org/anishkny/node-express-realworld-example-app)
> ### Example Node (Express + Prisma) codebase containing real world examples (CRUD, auth, advanced patterns, etc) that adheres to the [RealWorld](https://github.com/gothinkster/realworld-example-apps) API spec.
<a href="https://thinkster.io/tutorials/node-json-api" target="_blank"><img width="454" src="https://raw.githubusercontent.com/gothinkster/realworld/master/media/learn-btn-hr.png" /></a>
## Getting Started
### Prerequisites
Run the following command to install dependencies:
```shell
npm install
```
### Environment variables
This project depends on some environment variables.
If you are running this project locally, create a `.env` file at the root for these variables.
Your host provider should included a feature to set them there directly to avoid exposing them.
Here are the required ones:
```
DATABASE_URL=
JWT_SECRET=
NODE_ENV=production
```
### Generate your Prisma client
Run the following command to generate the Prisma Client which will include types based on your database schema:
```shell
npx prisma generate
```
### Apply any SQL migration script
Run the following command to create/update your database based on existing sql migration scripts:
```shell
npx prisma migrate deploy
```
### Run the project
Run the following command to run the project:
```shell
npx nx serve api
```
### Seed the database
The project includes a seed script to populate the database:
```shell
npx prisma db seed
```
## Deploy on a remote server
Run the following command to:
- install dependencies
- apply any new migration sql scripts
- run the server
```shell
npm ci && npx prisma migrate deploy && node dist/api/main.js
```