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.
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-api
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 |
RUn it as an NPX
npx generic-nodejs-express-api my-awesome-api-project
To set up the Generic Node.js Express API, follow these steps:
- Clone this repository to your local machine:
git clone [email protected]:npm-packages-collection/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
To start the API server, use one of the following commands depending on your environment:
-
Development:
npm run dev
-
Production:
npm run start
You can also run the server with HTTPS enabled:
-
Development with HTTPS:
npm run dev:https
-
Production with HTTPS:
npm run prod:https
-
Reset dependencies:
npm run reset
This command removes
node_modules
andpackage-lock.json
and reinstalls dependencies. -
Generate certificates:
sudo npm run certs
This 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_CRT
andAPP_KEY
) in the.env
file. - Set the application port (APP_PORT=3000) in the
.env
file. - Clean up by removing the certs directory after the environment variables have been set.
Create a .env
file in the root directory and add your environment-specific variables, such as API keys and database URLs.
The project uses Mocha and Chai for testing. To run tests, use:
npm test
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.
This project is licensed under the ISC License.
Create a .env
file in the root directory and add your environment-specific variables, such as API keys and database URLs.
The project uses Mocha and Chai for testing. To run tests, use:
npm test
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.
This project is licensed under the ISC License.