No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
app
config
public
.DS_Store
.gitignore
Example Spreadsheet.xlsx
README
desktop.ini
package.json
server.js

README

IMPLEMENTED: 
- User accounts
- Searching through objects with thumbnail view

PARTIALLY IMPLEMENTED: 
- Uploading of files (XLSX only)
- User profile page
- searching and highlighting of provenancing data

NOT IMPLEMENTED: 
- Tooltips for various tools
- Internationalization
- HTTPS
- Uploading and attaching images, to user profiles and uploaded objects
- Checks and failsafes while marking provenancing data
- Graphic/map output of matching records with Leaflet
- Import media (sound clips, video clips, and 3D models)
- Mouse and keyboard shortcuts
- Screen reader compatible
- Control the app by voice

CHANGES TO ORIGINAL PLAN:
We initially decided to use SQLite to store our data. Due to the variety within the datasets and the utility of indexing text, we decided MongoDB would be a better choice. Although we did not implement many of the features initially envisioned, we managed to put down a solid foundation for a system that is easily extendable.

CODE STRUCTURE:
Our system is built around Node.js with Passport.js and MongoDB. We decided to use Javascript Templates for flexibility. After installing our package.json, the system is run with "node server.js".

FOLDER STRUCTURE:
The public folder contains a number of folders with our ejs templates, CSS files, images, and front-end Javascript.

NOTES:
The app and config folders contain some important back-end javascript files, such as routes.js (our ajax routes), passport.js (passport user authentication helper functions), and objectdatabase.js (helper functions for querying and inserting objects into the database). We decided to mainly use modal boxes for ease of user interaction.

ROUTES:
GET request to / 		will load the home page

GET request to /upload 		will load the object uploading page
GET request to /userprofile 	will load a user’s profile page (profile pages still in progress)
GET request to /signup		will load the signup page
GET request to /signin		will load the signin page (in case of error)
GET request to /logout		will log out the user

GET request to /search		will load search template
GET request to /mark		will get marked persons or locations from the object collections

POST request to /upload 	will upload a file containing object data
POST request to /login		will log the user in
POST request to /signup 	will create a user account
POST request to /editprofile	will process changed profile data
POST request to /signin 	will sign user in

POST request to /search 	will perform search query on database
POST request to /mark		will add a person or location to their collections

POST request to /deleteartifact	will remove an artifact from the appropriate collection