Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/divy9881/crowdfundingweb
Crowd Funding Webapp with Neurelo and MongoDB
https://github.com/divy9881/crowdfundingweb
database database-abstractions expresss-js mongodb mongoose neurelo nodejs
Last synced: 8 days ago
JSON representation
Crowd Funding Webapp with Neurelo and MongoDB
- Host: GitHub
- URL: https://github.com/divy9881/crowdfundingweb
- Owner: divy9881
- License: mit
- Created: 2019-03-02T07:53:42.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-08-06T19:48:26.000Z (3 months ago)
- Last Synced: 2024-08-06T23:10:56.039Z (3 months ago)
- Topics: database, database-abstractions, expresss-js, mongodb, mongoose, neurelo, nodejs
- Language: EJS
- Homepage:
- Size: 793 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Crowd Funding Webapp with Neurelo and MongoDB
## Inspiration
- Usually, the owners of the CrowdFunding infrastructure take away a significant share of the funds received by the campaigns in the name of "supporting the services" and "covering deployment and maintenance costs"
- This Webpage application enables society to raise and fund campaigns without needing to have a middleman/broker to channel the funds to campaign owners
- Created two clones of the same application one using Neurelo's Javascript SDK which connects to Neurelo's Database Abstraction layer for Database needs and other, a more traditional way, by using Mongoose as an ORM to connect to MongoDB. This is to help compare and contrast among the two alternatives## What it does
- Institutions or NGO representatives can create and run campaigns for their noble cause in order to raise funds to support their rationale
- The platform can leverage the massive user base of the Ethereum network to be able to broadcast the campaigns to the users and being able to raise funds
- It minimizes fund-raising fees(which is a significant share) levied by intermediate platform owners## How to spin-up the server based on Neurelo
```
# Install Node.js dependencies
$ npm install# Install nodemon command-line globally on the machine
$ npm install -g nodemon# Change directory to Neurelo-app
$ cd Neurelo-app# Spin-up daemonized development server, to enable making code changes and reflect updates to the Frontend/Server in the live
$ npm run start-dev# Spin-up production server
$ npm run start
```## How to spin-up the server based on Mongoose
```
# Install Node.js dependencies
$ npm install# Change directory to Mongoose-app
$ cd Mongoose-app# Spin-up daemonized development server, to enable making code changes and reflect updates to the Frontend/Server in the live
$ npm run start-dev# Spin-up production server
$ npm run start
```## Code organization and its description
- `Neurelo-app/`: Root-level directory for all the files associated with the application based on Neurelo's SDK
- `Neurelo-app/app.js`: Entry-point file for the Neurelo-based application
- `Neurelo-app/controller`: Directory which constitutes all the controller logic associated with creating projects, commenting on a project, fetch projects by category, fetching information about a specific project, pledging money to a particular project, etc.
- `Neurelo-app/controller/lib`: Static JS libraries for frontend
- `Neurelo-app/controller/*.js`: Files associated with the controller logic
- `Neurelo-app/view`: Directory which constitutes all the files associated with the styling, templates, and assets associated with the webpage
- `Neurelo-app/view/ejs`: Embedded Javascript templating files
- `Neurelo-app/view/css`: CSS files
- `Neurelo-app/view/assets`: Assets associated with the webpages
- `Mongoose-app/`: Root-level directory for all the files associated with the application based on Neurelo's SDK
- `Mongoose-app/app.js`: Entry-point file for the Mongoose-based application
- `Mongoose-app/model`: Directory associated with the models of the MongoDB collections which user should abide to for semantic purposes while using mongoose## How is it built
- MVC(Model-View-Controller) framework was being adopted to develop the backend and frontend for the Webpage
- Tech stack includes `Node.js(Primary Language)`, `Express.js(REST API framework)`, `Passport.js(Authentication)`, `MongoDB(Primary Database)`, `Neurelo(Database Abstraction layer)`, `Mongoose(ORM as an experimental alternative to Neurelo)`, `EJS(Templating library for frontend)`