LORE is a collaborative story-creator webapp, which lets users post the start of a story, and have other users submit contributions (known as pieces). If the owner of the story deems the contribution worthy, they may merge it to the original story.
Features include:
- Users can start a story with a specified title, as well as tags.
- Users can add contributions to existing stories.
- Users can see and upvote the contributions that they like.
- The creator of the story can approve a contribution and have it merge seamlessly to the rest of the story.
- Users can view all of the stories, whether pending or completed, on the main page, as well as view their own stories under the "My Stories" tab.
- The creator of the story can mark theirs as "completed", stopping further contributions from being added, and removing any pending ones.
Main page:
Contribution examples:
- Create the
.envby using.env.exampleas a reference:cp .env.example .env - Update the .env file with your correct local information
- username:
labber - password:
labber - database:
midterm
- Install dependencies:
npm i - Fix to binaries for sass:
npm rebuild node-sass - Reset database:
npm run db:reset
- Check the db folder to see what gets created and seeded in the SDB
- Run the server:
npm run local
- Note: nodemon is used, so you should not have to restart your server
- Visit
http://localhost:8080/
- Do not edit the
layout.cssfile directly, it is auto-generated bylayout.scss - Split routes into their own resource-based file names, as demonstrated with
users.jsandwidgets.js - Split database schema (table definitions) and seeds (inserts) into separate files, one per table. See
dbfolder for pre-populated examples. - Use the
npm run db:resetcommand each time there is a change to the database schema or seeds.- It runs through each of the files, in order, and executes them against the database.
- Note: you will lose all newly created (test) data each time this is run, since the schema files will tend to
DROPthe tables and recreate them.
- Node 10.x or above
- NPM 5.x or above
- PG 6.x






