NoteMan API
NoteMan is a personal note taking API. It supports uploading multiple files up to 16MB for each note & set reminders at specific times.
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
The backend depends on NodeJS and MongoDB. It is originally developed on Ubuntu 18.04 but you can follow the installation instruction for your operating system on the projects website.
We highly recommend using a version manager for node like NVM.
Installing
Notice! the latter expects you are installing on Ubuntu, you can follow along with most of the commands for other operating systems but keep this in mind.
After installing both MongoDB and NVM we will start by installing the newest stable release of Node which is 10.7.0 at the time of writing.
nvm install 10.7.0
If you just installed NVM, this will set the default to use 10.7.0, but if you where using another version execute nvm use 10.7.0
.
If you haven't already, now is the time to clone the repo
git clone git@git.mikligardur.com:gdgunnars/NoteMan.git
Install node dependencies
cd into the newly created NoteMan directory ( cd NoteMan
) and run
npm install
All set up
Now everything should be set up and you can just run it with
npm start
Please keep in mind that we have the --experimental-modules
flag enabled since we are using es6 import instead of require() to eliminate the use of Babel.
Documentation
The API endpoints have documentation at runtime. When you have ran npm start
go to http://localhost:3000/api-docs/
or click here.
We recommend to use curl or Postman for testing the API endpoints instead of trying to use the documentation testing capabilities.
Running the tests
Currently there are no automated tests.
Built With
- VS Code - Code editor
- NodeJS - JavaScript runtime
- MongoDB - Document-oriented database program.
- Express - Web application framework
- Mongoose - MongoDB object modeling
- Agenda - Lightweight job scheduling for Node.js
and more
Authors
- Gunnar Davíð - github