All Projects → Adaptech → nota

Adaptech / nota

Licence: Apache-2.0 license
"None Of The Above" - is going to be a secure online voting system, intended to give the electorate better choices. It always adds one additional choice to anything to be voted on: If more than 50% of voters choose "None of the Above", the election is considered null and void.

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to nota

delta
DDD-centric event-sourcing library for the JVM
Stars: ✭ 15 (-11.76%)
Mutual labels:  cqrs, ddd, eventsourcing, cqrs-es
Eshoponcontainersddd
Fork of dotnet-architecture/eShopOnContainers in full DDD/CQRS design using my own patterns
Stars: ✭ 126 (+641.18%)
Mutual labels:  cqrs, ddd, eventsourcing, cqrs-es
Todomvc Ddd Cqrs Eventsourcing
Implementation of basic Todo app via tastejs/todomvc in C#/Typescript with eventsourcing, cqrs, and domain driven design
Stars: ✭ 134 (+688.24%)
Mutual labels:  cqrs, ddd, eventsourcing, cqrs-es
Eventflow
Async/await first CQRS+ES and DDD framework for .NET
Stars: ✭ 1,932 (+11264.71%)
Mutual labels:  cqrs, ddd, eventsourcing, cqrs-es
Eventhorizon
CQRS/ES toolkit for Go
Stars: ✭ 961 (+5552.94%)
Mutual labels:  cqrs, ddd, eventsourcing
Rails event store
A Ruby implementation of an Event Store based on Active Record
Stars: ✭ 947 (+5470.59%)
Mutual labels:  cqrs, ddd, cqrs-es
Go Cqrs All
All-in-one collection for Go CQRS / ES / DDD examples
Stars: ✭ 39 (+129.41%)
Mutual labels:  cqrs, eventsourcing, cqrs-es
Bifrost
This is the stable release of Dolittle till its out of alpha->beta stages
Stars: ✭ 111 (+552.94%)
Mutual labels:  cqrs, ddd, eventsourcing
Event Sourcing Cqrs Examples
Event Sourcing and CQRS in practice.
Stars: ✭ 265 (+1458.82%)
Mutual labels:  cqrs, ddd, cqrs-es
Quiz
Example real time quiz application with .NET Core, React, DDD, Event Sourcing, Docker and built-in infrastructure for CI/CD with k8s, jenkins and helm
Stars: ✭ 100 (+488.24%)
Mutual labels:  cqrs, ddd, eventsourcing
nbb
.Net Building Blocks
Stars: ✭ 98 (+476.47%)
Mutual labels:  cqrs, ddd, eventsourcing
Eventsourcing
A library for event sourcing in Python.
Stars: ✭ 760 (+4370.59%)
Mutual labels:  cqrs, ddd, eventsourcing
Symfony 5 Es Cqrs Boilerplate
Symfony 5 DDD ES CQRS backend boilerplate
Stars: ✭ 759 (+4364.71%)
Mutual labels:  cqrs, ddd, cqrs-es
Restairline
DDD+CQRS+EventSourcing+Hypermedia API+ASP.NET Core 3.1+Masstransit+terraform+docker+k8s
Stars: ✭ 243 (+1329.41%)
Mutual labels:  cqrs, ddd, eventsourcing
Open Loyalty
Open Loyalty is technology for loyalty solutions for starting new loyalty projects.
Stars: ✭ 476 (+2700%)
Mutual labels:  cqrs, ddd, eventsourcing
Goes
Go Event Sourcing made easy
Stars: ✭ 144 (+747.06%)
Mutual labels:  cqrs, ddd, eventsourcing
chekov
A CQRS/ES framework for building application in Rust
Stars: ✭ 21 (+23.53%)
Mutual labels:  cqrs, eventsourcing, cqrs-es
OpenSleigh
OpenSleigh is a Saga management library for .NET Core.
Stars: ✭ 198 (+1064.71%)
Mutual labels:  cqrs, ddd, cqrs-es
Aggregates.net
.NET event sourced domain driven design model via NServiceBus and GetEventStore
Stars: ✭ 261 (+1435.29%)
Mutual labels:  cqrs, ddd, eventsourcing
Eventflow.example
DDD+CQRS+Event-sourcing examples using EventFlow following CQRS-ES architecture. It is configured with RabbitMQ, MongoDB(Snapshot store), PostgreSQL(Read store), EventStore(GES). It's targeted to .Net Core 2.2 and include docker compose file.
Stars: ✭ 131 (+670.59%)
Mutual labels:  cqrs, ddd, eventsourcing

NOTA ("None Of The Above") will be a secure online voting system. We are building it at https://www.meetup.com/DDD-CQRS-ES/. We develop example DDD/CQRS/ES systems on a regular basis as part of the meetup.

See also: https://github.com/Adaptech/notasimulator

Requirements

Below is the result of the event storming we did for this system:

NOTA Minimum Viable Event Storm

Functionality

For what you can do and what events happen as a result, see src/commands and src/events:

  • CreateElectionAdmin
  • CreateOrganization
  • CreateReferendum
  • RegisterVoter
  • OpenPolls
  • AuthenticateVoter
  • CastVote
  • ClosePolls
  • DeleteReferendum

Getting Started

Installing & running the event store

See https://geteventstore.com/downloads/ .

  • unzip at ~/
  • cd into extracted folder
  • ./run-node.sh (start event store) or ./run-node.sh --int-ip=0.0.0.0 --ext-ip=0.0.0.0 if running in a Vagrant box
  • For the admin UI, go to http://localhost:2113
  • login: admin pass: changeit (defaults)

Installing & running the API

Change to api directory

cd api

Install modules

npm install

Run the API

npm start

Run the unit tests

npm test

Run the API integration tests

  1. Find the eventstore data folder and delete everything in it; the tests won't pass if there are results from a previous run.
  2. Start eventstore
  3. cd api
  4. Delete any existing read model data: rm -fr db
  5. Start API: npm start.
  6. Run the tests: npm run test-api

Exploring the API

  1. Install https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop
  2. In Postman, import the api/noneoftheabove-localhost.postman_environment.json environment. (Top right in Postman: "Cogwheel-thingy" -> "Manage Environments" -> "Import")
  3. Import the collection api/noneoftheabove.postman_collection.json. (Top left in Postman: "Import" button.)

The collection has examples of API calls.

Installing & running the web app

Change to web directory

cd web

Install modules

npm install

Run the web application

npm start

View the web application

Open localhost:3000

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].