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

https://github.com/th92rodr/notebook

Web application to take your notes.
https://github.com/th92rodr/notebook

docker express mongodb nodejs rest-api

Last synced: 3 months ago
JSON representation

Web application to take your notes.

Awesome Lists containing this project

README

          

# Notebook 📝


GitHub language count
Repository size
Made by ThiagoRodrigues




## Stack

- API Server: Node.js / Express
- SPA App (Web Frontend): React.js
- API Architeture: `REST`
- Database: MongoDB

## How To Run

### API Server

- Go to `server` directory:

```
cd server
```

- Run `docker-compose`:

```sh
docker-compose up
```

### SPA App (Web Frontend)

- Go to `web` directory:

```
cd web
```

- Install project dependencies:

```
npm i
```

- Start app:

The app will be running on port `3000`.

```
npm start
```

## Dependencies

### API Server

- **`express`**
Fast, unopinionated, minimalist web framework for node.
https://www.npmjs.com/package/express

- **`mongoose`**
ODM for MongoDB. It's a MongoDB object modeling tool designed to work in an asynchronous environment. Provides a straight-forward, schema-based solution to model your application data. It includes built-in type casting, validation, query building, business logic hooks and more.
https://www.npmjs.com/package/mongoose

- **`body-parser`**
Parse incoming request bodies in a middleware before the app's handlers. Able to parser requests in JSON format.
https://www.npmjs.com/package/body-parser

- **`jsonwebtoken`**
An implementation of JSON Web Tokens.
https://www.npmjs.com/package/jsonwebtoken

- **`bcrypt`**
A library to help you hash passwords.
https://www.npmjs.com/package/bcrypt

- **`dotenv`**
Dotenv is a zero-dependency module that loads environment variables from a .env file into process.env. Storing configuration in the environment separate from code is based on The Twelve-Factor App methodology.
https://www.npmjs.com/package/dotenv

- **`express-validator`**
An express.js middleware for validator.
https://www.npmjs.com/package/express-validator

- **`helmet`**
Helmet helps you secure your Express apps by setting various HTTP headers.
https://www.npmjs.com/package/helmet

- **`morgan`**
HTTP request logger middleware for node.js.
https://www.npmjs.com/package/morgan

- **`redis`**
A high performance Node.js Redis client.
https://www.npmjs.com/package/redis

### Web Frontend

- **`react`**
React is a JavaScript library for creating user interfaces.
https://www.npmjs.com/package/react

- **`react-dom`**
This package serves as the entry point to the DOM and server renderers for React. It is intended to be paired with the generic React package, which is shipped as react to npm.
https://www.npmjs.com/package/react-dom

- **`react-router-dom`**
DOM bindings for React Router.
https://www.npmjs.com/package/react-router-dom

- **`styled-components`**
Visual primitives for the component age. Use the best bits of ES6 and CSS to style your apps without stress.
https://www.npmjs.com/package/styled-components