Skip to content

A nodeJS web application with custom geolocation services

License

Notifications You must be signed in to change notification settings

abdulqadirfaruk/uod_map

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 

Repository files navigation

img UOD-MAP

_Contributors: @AbdulqadirYabo, @Mohammed Abdelhady, @Stasyy, @Aliya

About UOD MAP


UOD MAP (University of Dunaujvaros MAP) is a project designed to solve a long-term problem we as students have been experiencing over time, which has to do with the challenge in locating various university buildings across UOD campus. The project develops a web application that allows all new, exchange, visiting and existing students of our University with the ability to navigate university buildings with ease and comfort.

TOOLS AND TECHNOLOGIES


Project planning and management

  • Microsoft Project 2019

Implementation

  • Programming languages: JavaScript, HTML, CSS

Technologies, Libraries, and frameworks

  • NodeJS – used for running scripts on the server to render content before it is delivered to a web browser. UODMAP uses this to open a html file on the server and return the content to the client. It uses JavaScript on both the server and client side.
  • Express.js – Express.js (or simply Express) is a backend web application framework that runs within the NodeJS environment. It creates and starts the web server and listens to for any request from clients and respond back with requested pages accordingly. It uses HTTP protocols(get, post) to handle request and responses.
  • Nunjucks – A templating engine for JavaScript.

IDE: Visual studio code
Database/Data storage: SQL database
Version Control: Git

THE SOFTWARE


File structure

  • UOD_MAP
    • node modules
    • static
      • map.js
      • style.css
      • img.jpg
    • views
      • index.html
      • register.html
      • layout.html
      • home.html
      • profile.html
    • main.js
    • database.sql
    • package.json
    • package-lock.json
    • start-server.bat

Description:

UOD MAP folder holds the complete application

Node modules folder contains build tools

Static folder contains static files that are not dynamic in browser

Map.js file contains JavaScript for rendering the map and all its functionalities

Img.js file contains image of UOD logo

Style.css contains styling for the html files

Views folder contains all html pages that can be rendered on browser

index.html contains the login page, this is the default page when you run the app

register.html contains the registration page

layout.html contains the layout for home and profile pages, it serves as a template and extends to the template using Nunjucks.

home.html contains home page, an extension of layout.html using Nunjucks.

profile.html contains profile page, and extension of layout.html using Nunjucks.

Main.js file contains the main application which creates a server similar to Apache HTTP server, handles database connection and queries, and finally reads and return responses made by client.

Database.sql contains the sql script for UOD MAP database

Package.json file defines what libraries will be installed into node modules

Package-lock.json file is automatically generated by npm to keep track of package installations

Start_server contains a command line script that will start the application [for windows]

Getting Started


  1. After forking this repository, the following should be installed on your system:
  • Install node.js
  • Install MySQL server and MySQL workbench using the mysql installer
  1. After the above installations, open the project folder in terminal, and run the following in to install the required packages:
npm install mysql
npm install express --save
npm install express-session
npm install Nunjucks
npm install path
npm install body-parser
  1. Execute and upload the database.sql in MySQL workbench

  2. Open main.js file and set database connection details at user and password according to what you set when installing your mysql previously

  3. Run the startserver.bat file [for windows], Linux users can simply run node main.js on terminal. This will start the app on http://localhost:3000

  4. Finally, open a browser and search http://localhost:3000. And that is it!

Contribution

If you can, please contribute by reporting issues, discussing ideas, or submitting pull requests with patches and new features :-)