/fundr

MVC, Handlebars.js, Sequelize, Express.js, Node.js

Primary LanguageCSSMIT LicenseMIT

Fundr

Node.js Express.js Mysql2 Sequelize dotenv bcrypt express-handlebars express-session connect-session-sequelize eslint prettier

Introduction

Fundr allows users to view and create crowdfunding projects. It follows the MVC model and uses Handlebars.js, Sequelize, Express.js, and Node.js.

The app uses Handlebars.js to render the data from the back end to the front end, and mysql2 to handle the database.

It also facilitates login/logout capability using express-session.

I made this app to learn about handlebars including layouts and partials, and also the Model-View-Controller modularization.

Deployed: https://fundr.herokuapp.com/

Installation

Steps Details
Install Node.js https://nodejs.org/en/
Install Mysql https://dev.mysql.com/downloads/installer/
Install Insomnia https://insomnia.rest/download
Clone this repo git clone
https://github.com/leoelicos/fundr.git
Go inside cd fundr
Rename .env.EXAMPLE mv .env.Example .env
Input mysql credentials in .env DB_USER={username}
DB_PW={password}
Don't forget to save the file!
Initialize database cd db
mysql -u root -p
{password}
source schema.sql;
exit
Install dependencies cd ..
npm install
Run seeds npm run seed

Usage

Insomnia

Steps Details
Start the server npm start
Root endpoint GET localhost:3001
Search all projects GET /
Find a specific project GET /project/:id
Form to log in / create account GET /login
See user's projects and form to create project GET /profile
If already logged in, be redirected GET /login > redirect /profile

Video Demo

Test

Screenshots

Screenshot: Test

Test

Credits

  • BCS Resources

License

© Leo Wong leoelicos@gmail.com

Licensed under the MIT License.