https://github.com/leandroberlin/lyricsdb
🎤 Minimalistic MVC CRUD with Node + Express + Mongoose
https://github.com/leandroberlin/lyricsdb
Last synced: 3 months ago
JSON representation
🎤 Minimalistic MVC CRUD with Node + Express + Mongoose
- Host: GitHub
- URL: https://github.com/leandroberlin/lyricsdb
- Owner: LeandroBerlin
- License: mit
- Created: 2019-08-21T10:04:26.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2022-12-22T12:25:28.000Z (over 2 years ago)
- Last Synced: 2025-01-19T10:09:01.178Z (5 months ago)
- Language: JavaScript
- Homepage: https://lyricsdb.leandro-berlin.now.sh/
- Size: 206 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: Readme.md
- License: LICENSE
Awesome Lists containing this project
README
# LyricsDb
A minimalistic **MVC** (Model-View-Controller) Web Application with **CRUD** (create, read, update, delete) functionaly created with Node.js / MongoDB & Mongoose.js / Express.js and JSON
API uthentication is provided using Json Web Token & Bcrypt#### "As slight as possible"
Since Express >= 4.16.0, body parser has been re-added under the methods express.json() and express.urlencoded(), this web app use only 2 dependency: [Express](https://expressjs.com) & [Mongoose](https://mongoosejs.com)
![]()
## Features
- Database seeding with sample data
- Express 4 Middleware
- Response Object as JSON
- MVC (Model-View-Controller)
- CRUD (create, read, update, delete)
- Password Hashing
- JWT Authentication
- [Zeit Now](https://zeit.co) deployment configuration## Setup & run
- Clone the repo
- You need a running instance of MongoDB
`mongod`
- Install the dependencies
`npm i`
- Run & Fun
`npm run dev`## Npm Scripts
- `npm run dev` uses nodemon (you need it global installed)
- `npm start` uses node## Demo Examples
[Overview](https://lyricsdb.leandro-berlin.now.sh/) - All the lyrics in DB
[Single Lyric](https://lyricsdb.leandro-berlin.now.sh/lyrics/5d5d1ae7ef607625c75d27d4) - A single lyric## Deployment on Zeit
In order to deploy your app on [Zeit Now](https://zeit.co) you need to create a database reachable from the Internet first.
You can use the free service of [Mongo Atlas](https://www.mongodb.com/cloud/atlas). You'll also need to edit the mongose.connect() method in `controller/database` to use your Mongo Atlas credentials.