Skip to content

nsofianos/uPick

Repository files navigation

uPick

uPick is a poll maker app built with HTML and SCSS on the front-end, and NodeJS, Express, EJS, and PostgreSQL on the back-end. Users can search, browse, create, share, and vote on polls. The app incorporates Google graph API to create charts and mailgun API to send email notifications to the user whenever a user creates a new poll, or when someone's voted on a poll.

Getting Started

  1. Create the .env by using .env.example as a reference: cp .env.example .env
  2. Update the .env file with your correct local information
  • username: labber
  • password: labber
  • database: midterm
  1. Install dependencies: npm i
  2. Fix to binaries for sass: npm rebuild node-sass
  3. Reset database: npm run db:reset
  • Check the db folder to see what gets created and seeded in the SDB
  1. Run the server: npm run local
  • Note: nodemon is used, so you should not have to restart your server
  1. Visit http://localhost:8080/

Warnings & Tips

  • Do not edit the layout.css file directly, it is auto-generated by layout.scss
  • Split routes into their own resource-based file names, as demonstrated with users.js and widgets.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.

Dependencies

  • Node 10.x or above
  • NPM 5.x or above
  • PG 6.x

Screenshots

"Poll creation" "Poll voting" "Poll results" "Search results"

About

Poll maker app that allows users to search, browse, create, share, and vote on polls

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published