generic-nodejs-express-api
v0.1.4
Published
Generic NodeJs Express API
Maintainers
Readme
Generic Node.js Express API
Welcome to the Generic Node.js Express API repository! This repository contains the code and documentation for a generic Express API built using Node.js, as well as a frontend server.
Quick Start
[!TIP] Create a project from scratch
npx generic-nodejs-express-api my-awesome-api-project[!TIP] Add it to an existing project
npm i generic-nodejs-express-apiTable of Contents
Introduction
The Generic Node.js Express API is a template project that provides a basic setup for building RESTful APIs using Node.js and Express. It includes several utilities and configurations to help you get started quickly. Additionally, this project runs both a frontend and an API server. The frontend is accessible at localhost, and the API is available at api.localhost.
| Front End | API |
|--|--|
| |
|
| localhost | api.localhost |
| dmeo frontend | demo api |
Installation
NPX
RUn it as an NPX
npx generic-nodejs-express-api my-awesome-api-projectTo set up the Generic Node.js Express API, follow these steps:
- Clone this repository to your local machine:
git clone [email protected]:32teeth/generic-nodejs-express-api.git - Navigate into the project directory:
cd generic-nodejs-express-api - Install the required dependencies:
npm install - (Optional) Set up HTTPS certificates:
sudo npm run certs
Usage
To start the API server, use one of the following commands depending on your environment:
Development:
npm run devProduction:
npm run start
You can also run the server with HTTPS enabled:
Development with HTTPS:
npm run dev:httpsProduction with HTTPS:
npm run prod:https
Development
Scripts
Reset dependencies:
npm run resetThis command removes
node_modulesandpackage-lock.jsonand reinstalls dependencies.Generate certificates:
sudo npm run certsThis command will:
- Create a certs directory (if it doesn't already exist).
- Generate a self-signed SSL certificate (
selfsigned.crt) and private key (selfsigned.key) in the certs directory for HTTPS development. - Set appropriate permissions for the generated files.
- Base64-encode the certificate and key and store them as environment variables (
APP_CRTandAPP_KEY) in the.envfile. - Set the application port (APP_PORT=3000) in the
.envfile. - Clean up by removing the certs directory after the environment variables have been set.
Environment Variables
Create a .env file in the root directory and add your environment-specific variables, such as API keys and database URLs.
Testing
The project uses Mocha and Chai for testing. To run tests, use:
npm testContributing
Contributions are welcome! If you have any ideas, suggestions, or bug reports, please open an issue or submit a pull request. Ensure that you follow the project's contribution guidelines.
License
This project is licensed under the ISC License.
Environment Variables
Create a .env file in the root directory and add your environment-specific variables, such as API keys and database URLs.
Testing
The project uses Mocha and Chai for testing. To run tests, use:
npm testContributing
Contributions are welcome! If you have any ideas, suggestions, or bug reports, please open an issue or submit a pull request. Ensure that you follow the project's contribution guidelines.
License
This project is licensed under the ISC License.
