JumpNote is a Simple, Quick, Easy to use, Note taking app that "automagically" backups everything to a server. Using the hottest new technology we built JumpNote using React Native for the app frontend, Node.js for the backend server magic, and used Mongodb to implement our database.
-
You can download latest installable version of JumpNote for Windows, macOS and Linux.
-
git clone the repo
git clone https://github.com/SRJC-Computer-Science-Club/jumpnotes.git
Follow these instructions to get everything you need installed.
-
Install Node.js
-
Windows installation here Node.js on Windows
-
Mac installation here Node.js on Windows
-
Ubuntu installation here Node.js on Windows
-
Install MongoDB
After you have finished installing all the software correctly you can now clone the repo into a folder of your choosing and run the server.
To get started:
-
open up cmd( command prompt ) for windows, terminal for Mac and Linux
-
Download This file
-
Go to you Downloads folder
-
Unzip
jumpnotes-master.zip Clone this repository git clone https://github.com/SRJC-Computer-Science-Club/jumpnotes.git
-
If
git
is not installed it can be download here
Go into the repository > cd jumpnotes-master
Install dependencies
> npm install
Start Mongodb server
npm start_mongdb
- if npm start_mongdb does not work for you try running
mongod --dbpath "data"
Run the app
> npm start
How the data flows from server and clients
Client - The notes app has a open connection to the server that is located at the address http://localhost:3000
on the physical server.
When the Client request to the server the server sends back a a JSON object like this one
Example
{
"id": 1,
"title": "My first Awesome Note!",
"noteText": "Idea for greate new book title Brave New World"
}
Server - The get and processed the json object like above, and sends them to the mongodb
server ( located at the address mongodb://localhost:27017/Notes
) to be added to the database.
The server **saves ** data to the database by sending a json object that is saved by issuing the db.collection.insert()
an example would look like
db.collection.insert(
{
"id": 1,
"title": "My first Awesome Note!",
"noteText": "Idea book title Brave New World"
}
)
Here is what it looks like to call db.collection.insert() inside the Server (note this doesnt work outside the server app)
var MongoClient = require('mongodb').MongoClient; /Data to be saved in database/
// The Name of the database
//|
//V
var URL = "mongodb://localhost:27017/Notes";
var DATA = {
"title": "My first Awesome Note!",
"noteText": "Idea book title Brave New World"
}
MongoClient.connect(URL, function (err, db) {
// select the name of the database
//|
//V
db.collection('Notes', function (err, collection) {
collection.insert( DATA );
db.close();
});
});
Learn the basics of Node.ls, Express.js ---------------Click here
-
Node.js In this project we used the following frameworks, library's and software.
-
MongoDB : is a free and open-source cross-platform document-oriented database
-
Node.js : an open-source, cross-platform JavaScript run-time environment for executing JavaScript code server-side.
-
Express : is a minimal and flexible Node.js web application framework
-
mongodb : is an MongoDB driver for Node.js. Provides a high-level API on top of mongodb-core that is meant for end users.
-
Socket.io : creates real-time bidirectional event-based communication in node.js
-
React Native : open-source framework allowing you to build fully native apps in JavaScript
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.