An open API service indexing awesome lists of open source software.

https://github.com/tusho7/job-listing-sandro-api


https://github.com/tusho7/job-listing-sandro-api

Last synced: about 2 months ago
JSON representation

Awesome Lists containing this project

README

          

## Job Listing API

### Table of Contents

- [Prerequisites](#Prerequisites)
- [Tech Stack](#Tech-Stack)
- [Getting Started](#Getting-Started)
- [Project Structure](#Project-Structure)

#

### Prerequisites

- Node JS @16.X and up
- npm @8 and up

#

### Tech Stack

- body-parser @ 1.20.0 - Node.js body parsing middleware
- dotenv @ 16.0.3 - zero-dependency module that loads environment variables from a .env file
- express @ 4.18.2 - web framework for node
- mongodb @ 4.12.1 - document database
- mongoose @ 6.8.0 - MongoDB object modeling tool
- swagger @ 4.6.0 - module provides tools for designing and building Swagger-compliant APIs entirely in Node.js
- yaml @ 0.3.0 - yaml is a definitive library for YAML, the human friendly data serialization standard

#

### Getting Started

1. First of all you need to clone app repository from github:

```
git clone https://github.com/Tusho7/job-listing-sandro-api.git
```

2. Next step requires install all the dependencies.

```
npm install
```

3. Also you need to create .env file where copy information from .env.example file

```
cp .env.example .env
```

4. To create your own database, need to create new local connection, host would be localhost.
also you need to replace variables values in .env file, or you can generate mongo atlas url with user and password

#

### Project Structure

```
|--- src
| |--- config # configuration files
| |---|--- mongo.js # perform mongoDb connection
| |---|--- swagger.yaml # swagger configuration file
| |--- controllers # functions for routes
| |--- middlewares # extra helper middleware functions
| |---|--- auth-middleware.js # function to protect some routes
| |---|--- swagger-middleware.js # function to build and serve swagger
| |--- models # mongoose models for mongoDb
| |--- routes # project routes
| |--- schemas # Joi validation schema files
| |--- server.js # main file
- package.json # dependency manager configurations
```