Binderz is a resouce wall similar to Pinterest where users (learners) are able to save learning resources like tutorials, blogs and videos in a central place that is publicly available to any user.
- Users can register, login/logout
- Users can create a new resource (add an external link, photo, title, description) and save to a specific resource category
- Users can search for already-saved resources created by any user and can search for a specific category
- Users can comment on any resource
- Users can like any resource and save to their personal liked page
- Users can rate any resource based on a 5 star system
- Users can view all of their own liked resources on their My Resources page
- Users can update their profile name
- Create the
.env
by using.env.example
as a reference:cp .env.example .env
- Update the .env file with your correct local information
- 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.css
file directly, it is auto-generated bylayout.scss
- Split routes into their own resource-based file names, as demonstrated with
users.js
andwidgets.js
- Split database schema (table definitions) and seeds (inserts) into separate files, one per table. See
db
folder for pre-populated examples. - Use the
npm run db:reset
command 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
DROP
the tables and recreate them.
- Node 10.x or above
- NPM 5.x or above
- PG 6.x