Proof of Concept for a RESTful API made with Node.js LTS/Jod and Express.js 4 in TypeScript.
Figure: Simplified, conceptual project structure and main application flow. Not all dependencies are shown.
npm install
npm run dev
By default the application server will start as follows:
> [email protected] dev
> nodemon
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): src/**/*
[nodemon] watching extensions: ts
[nodemon] starting `ts-node ./src/server.ts`
[server]: Server is running at http://localhost:9000
You can change the port by setting the PORT
environment variable in the .env
file.
# /.env
PORT=9999
http://localhost:9000/swagger/
This setup uses Docker Compose to build and run the app and manage a persistent SQLite database stored in a Docker volume.
docker compose build
docker compose up
On first run, the container copies a pre-seeded SQLite database into a persistent volume On subsequent runs, that volume is reused and the data is preserved
docker compose down
docker compose down -v
This removes the volume and will reinitialize the database from the built-in seed file the next time you
up
.
The solution has been coded using Visual Studio Code.
All trademarks, registered trademarks, service marks, product names, company names, or logos mentioned on this repository are the property of their respective owners. All usage of such terms herein is for identification purposes only and constitutes neither an endorsement nor a recommendation of those items. Furthermore, the use of such terms is intended to be for educational and informational purposes only.