A Thinkful Node Capstone Project by Grayson Gilmore.
Referendus allows you to store academic references (either articles, books, or websites), choose which of the major citation formats you require, and copy them in rich text to the clipboard, ready to paste into your own work. Users can tag references and then search and copy only those references with that tag. The site also saves your choice of format for the next time you log in. Creating accounts and signing in and out is quick and easy.
- This is a full stack web app.
- The server side uses Node, Express, MongoDB and Passport.
- API functions are tested with Mocha and Chai.
- Authentiction is session-based and persistence stored.
- Passwords are encrypted with bcrypt.
- The user's format choice is stored in LocalStorage.
- The browser side uses HTML5, ES6 Javascript, and JQuery.
- Additionally, the site uses:
- Clipboard.js for clipboard support.
- Bootstrap for CSS and front end components.
- Bootswatch Spacelab as a theme.
- Demo is hosted on Amazon Lightsail.
- Follow instructions here for AWS Lightsail deployment.
- Create a file at project root called variables.js with the following content:
module.exports = {
DATABASE_URL: 'mongodb://<MONGO USERNAME>:<MONGO PASSWORD>@<MONGO URL>:<MONGO PORT>/referendus',
PORT: 3000,
TEST_PORT: 5000,
};
- Globally install forever and nodemon:
npm install -g forever nodemon
- Run npm start
- Implement the ability to autofill fields for a new reference given an ISBN or DOI.
- Sorting reference lists