[go: nahoru, domu]

Skip to content

JuanMore/Build-Guild

Repository files navigation

Build-Guild

Current demo: http://buildguild.online/

Build Guild | A Custom PC Builder Community Platform

About this project: This is platform designed for users to upload their custom pc builds and show them off to the custom pc builder community.

Screen Shot 2021-11-30 at 7 11 29 PM

Getting started

To get the Node server running locally:

  • Clone this repo
  • npm install to install all required dependencies
  • Install MongoDB Community Edition (instructions) and run it by executing mongod
  • npm run dev to start the local server

Code Overview

Dependencies Overview

  • expressjs - The server for handling and routing HTTP requests

  • mongoose - Used for object modeling tool and designed to work in an asynchronous environment. Supports both promises and callbacks

  • express-session - Used to create session middleware

  • morgan - For HTTP requests; a logger middleware for node.js

  • dotenv - Module that loads environment variables from a .env file into process.env

  • ejs - For embedding Javascript templates

  • ejs-mate - Express 4.x layout, partial template functions for the EJS template engine.

  • nodemon - tool that helps develop node.js based applications by automatically restarting the node application

  • connect-flash - Used for storing messages stored in session

  • mongoose - For modeling and mapping MongoDB data to javascript

  • method-override - For using HTTP verbs such as PUT or DELETE in places where the client doesn't support it.

  • Express-mongo-sanitize - A middleware which sanitizes user-supplied data to prevent MongoDB Operator Injection

  • sanitize-html - Sanitize-html provides a simple HTML sanitizer with a clear API

  • path - Node.js path module

  • joi - A powerful schema description language and data validator for JavaScript

  • cloudinary - For image management via cloud hosting

  • passport - For simple unobtrusive authentication compatible middleware for Node.js.

  • passport-local - Passport strategy for authenticating with a username and password.

  • passport-local-mongoose - Mongoose plugin that simplifies building username and password login with Passport.

  • multer - Used as a node.js middleware for handling multipart/form-data - image upload feature

  • multer-storage-cloudinary - A multer storage engine for Cloudinary

  • mate - On both browser and node.js, Mate brings these features:

  • Promise-style HTTP request: GET, POST, or custom methods

  • A new way of handling events

  • Array extensions: max, min, group, sum, average, ...

  • Advanced timers

  • Observer: useful for data binding

  • Functional functions

  • 2D point, complex number, complex math

  • Super natural testing

Application Structure

  • app.js - The entry point to our application. This file defines our express server and connects it to MongoDB using mongoose. It also requires the routes with controllers and models we'll be using in the application.
  • routes/ - This folder contains the route definitions for our API.
  • models/ - This folder contains the schema definitions for our Mongoose models.
  • views/ - This directory containes our show pages for displaying necessary templates.
  • seeds/ - Seeds data
  • public/ - JavaScript and stylesheets
  • models/ - Contains models/schemas
  • helpers/ - This directory contains middleware functions
  • controllers/ - This directory contains our routes controllers
  • cloud/ - This directory contains cloudinary configuration

Check out demo here: buildguild.online

Releases

No releases published

Packages

No packages published