udacity-c2-basic-server
This is a simple node-express server to explore and understand the Request-Response pattern.
Getting Setup
Installing project dependencies
This project uses NPM to manage software dependencies. NPM Relies on the package.json file located in the root of this repository. After cloning, open your terminal and run:
npm install
tip: npm i is shorthand for npm install
Installing useful tools
Postbird
1.Postbird is a useful client GUI (graphical user interface) to interact with our provisioned Postgres database. We can establish a remote connection and complete actions like viewing data and changing schema (tables, columns, ect).
Postman
2.Postman is a useful tool to issue and save requests. Postman can create GET, PUT, POST, etc. requests complete with bodies. It can also be used to test endpoints automatically. We've included a collection (./udacity-c2-restapi.postman_collection.json
) which contains example requsts.
Running the Server Locally
To run the server locally in developer mode, open terminal and run:
npm run dev
Developer mode runs off the TypeScript source. Any saves will reset the server and run the latest version of the codebase.
Important Files and Project Structure
The source code for this demo resides in the ./src directory.
src/server.ts
The main code for this demo is located in the ./src/server.ts file. This includes
src/cars.ts
This is a javascript object containing a list of cars. This will be useful for providing data for our simple endpoints.
src/unit-test-examples/
This directory contains some simple unit functions (units.ts
) and corresponding tests using Mocha and Chai (units.tests.ts
).