elevenbeans / We Voting
🙋 A Voting App based on React + Express + Mongodb
Stars: ✭ 26
Programming Languages
javascript
184084 projects - #8 most used programming language
Projects that are alternatives of or similar to We Voting
Pokedexvuejs
A Pokedex that will contain all 807 pokemon from the Pokemon series. Created in Vue.js
Stars: ✭ 19 (-26.92%)
Mutual labels: mongodb
Reactjs Portfolio Mern Website
My Portfolio | Full Stack MERN Application
Stars: ✭ 25 (-3.85%)
Mutual labels: mongodb
Node Express Boilerplate
A boilerplate for building production-ready RESTful APIs using Node.js, Express, and Mongoose
Stars: ✭ 890 (+3323.08%)
Mutual labels: mongodb
Thriftfindr
Thriftstore review site using Node, Mongo and the Google places API
Stars: ✭ 23 (-11.54%)
Mutual labels: mongodb
Reactivemongo
🍃 Non-blocking, Reactive MongoDB Driver for Scala
Stars: ✭ 825 (+3073.08%)
Mutual labels: mongodb
Webhubbot Downloader
Download videos from xiyouMc's WebHubBot.
Stars: ✭ 24 (-7.69%)
Mutual labels: mongodb
Nodepress
😎 RESTful API service for Blog/CMS, powered by @nestjs
Stars: ✭ 829 (+3088.46%)
Mutual labels: mongodb
Jetbrains Webcast Build With Mongodb
Code and handouts for my JetBrains webcast recorded January 30, 2018
Stars: ✭ 25 (-3.85%)
Mutual labels: mongodb
Blog
🤣本项目有不同开发版本,最新版底层基于 abp vNext 搭建和免费开源跨平台框架 .NET5 进行开发,使用 MongoDB 存储数据,Redis 缓存数据。项目采用前后端分离的模式进行开发,API 遵循 RESTful 接口规范,页面使用 Blazor 进行开发,可作为 .NET Core 入门项目进行学习。If you liked `Blog` project or if it helped you, please give a star ⭐️ for this repository. 👍👍👍
Stars: ✭ 827 (+3080.77%)
Mutual labels: mongodb
Mondocks
An alternative way to interact with MongoDB databases from F# that allows you to use mongo-idiomatic constructs
Stars: ✭ 20 (-23.08%)
Mutual labels: mongodb
Javascript Fullstack Simple
Follow this tutorial using this link
Stars: ✭ 26 (+0%)
Mutual labels: mongodb
Express Boilerplate
A fast, simple Node.js/Express + MongoDB + Vue.js web app boilerplate project
Stars: ✭ 25 (-3.85%)
Mutual labels: mongodb
Mean Angular5 Passport Authentication
Securing MEAN Stack (Angular 5) Web Application using Passport Authentication
Stars: ✭ 24 (-7.69%)
Mutual labels: mongodb
WeVoting
A voting APP.
Function
-
Authenticated users can:
- create a poll with any number of possible items
- keep their polls and come back later to access them
- see the aggregate results of all polls(implemented using Charts)
- vote on every polls(one time on each poll)
- share all polls with their friends.
-
Unauthenticated users just can:
- see the aggregate results of all polls(implemented using Charts)
Doing list
- Unit test (Doing)
- Coverage to 6% -- updated 2017-05-22
- Coverage to 29% -- updated 2017-05-26
- Coverage to 50% -- updated 2017-06-04
- Coverage to 73% -- updated 2017-06-13
- Code formate (Doing)
-
List page data pagination(done by @maokailu)
Contributing
I am grateful to any one for contributing bugfixes, issues and improvements~
Setup
-
Install node.js Ubuntu/Mac , Windows
-
Clone this project
git clone https://github.com/elevenbeans/we-voting.git cd we-voting
-
Install local dependencies
npm install
Startup
Development mode
For *nix (including Mac),
Run ./start.sh
Or export NODE_ENV=dev-HMR && ./start.sh
(enable HMR).
For windows,
npm run bundle // compile and bundle js files
npm run start // start node server
npm run watch // watching changes
Don't forget to run Mongodb in your dev environment : )
Pre mode
Run export NODE_ENV=pre && ./start.sh
.
Production mode
Run export NODE_ENV=production && ./start.sh
.
Build
Run npm run build
Test
Mocha + should
Run npm run test
.
Or,
Run npm run cover
to see test case coverage.
Techstack overview
Server:
- Enviroment: Node
- Framework: Express
- Tools: Request, compression, body-praser
- Template engine: Ejs
- DataBase: Mongodb
Front-end:
- JS standard: ECMAScript 6
- Framework: React + ReactDOM + React-Router
- Module bundler and compiler: Webpack + Babel
- Open source components: react-d3-components
Pages
-
home page
- router:
/
- example:
https://we-voting-ele.herokuapp.com/
- router:
-
list page
- router:
/list(/:name)
- example:
https://we-voting-ele.herokuapp.com/list
- router:
-
detail page
- router:
/detail(/:id)
- example:
https://we-voting-ele.herokuapp.com/detail/1494908221812
- router:
-
new page
- router:
/new
- example:
https://we-voting-ele.herokuapp.com/new
- router:
Directories
|-- client // front-end code
|-- components // front-end components
|-- footer.jsx // public footer
|-- header.jsx // public header
|-- loading.jsx // loading amination
|-- spning.jsx // spning amination
|-- lib // front-end library
|-- utils.jsx
|-- detail.jsx // detail page
|-- home.jsx // home page
|-- index.jsx // front-end intrance
|-- list.jsx // list page
|-- new.jsx // new page
|-- controller // server-end controller
|-- routes
|-- login.js // login routes
|-- view.js // view routes
|-- api.js // api controller
|-- DBhandler.js // DataBase CRUD
|-- dist // compiled front-end code
|-- vendor
|-- jquery.min.js
|-- bootstrap.min.js
|-- bootstrap.min.css
|-- react-dom.min.js // react-dom production version
|-- react.min.js // react production version
|-- loading.css
|-- vote.bundle.js // bundled voteApp intrance file
|-- router.bundle.js // bundled react-router
|-- detail.chunk.js // splitted JS file in detail page
|-- home.chunk.js // splitted JS file in home page
|-- list.chunk.js // splitted JS file in list page
|-- new.chunk.js // splitted JS file in new page
|-- views // server-end views
|-- error.ejs
|-- footer.ejs
|-- header.ejs
|-- index.ejs
|-- .gitignore
|-- Procfile // heroku file
|-- README.md
|-- index.js // app intrance file
|-- package.json
|-- serverConfig.js // enviroment configuration
|-- start.sh // start file for mac
|-- webpack.config.js
LICENSE
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].