Code Monkey home page Code Monkey logo

events-manager-io's Introduction

EventsManagerIO

hound Build Status Coverage Status Maintainability codecov Swagger API Maintained License

Eventsmanager Screenshot

A simple site for managing event-centers and scheduling events.

See EventsManagerIO running here.

Made With

Client

* Bootstrap4 for UI styling
* React for managing UI states
* Redux for flux-like app development
* SASS for custom styling
* Webpack & Uglifyjs for bundling and load-time optimization

Server

* Nodejs for server-side logic
* Express for api routes implementation
* Json Web Tokens for session authentication
* Postgresql & Sequelize for database management
* Heroku for hosting services

Continuous Integration

* Travis CI & Codeclimate for test automation
* Coveralls for test coverage report
* Hounds CI for linting report

Test-Driven Development

* Mocha & Chai for api route testing
* Jest & Enzyme for UI testing
* Nightwatch & Selenium for end-to-end testing

Installation.

  • Install Nodejs and Postgres SQL
  • Clone this repo git clone https://github.com/appcypher/event-manager-io.git
  • Run npm install to install the required dependencies
  • Run npm test to fireup the tests
  • Navigate to http://localhost:3000/

Available Task Runners

Production

* start → required for starting the server on Heroku; transpiles project and runs it from output folder

Development

* server →  transpiles the project on the fly and runs the server
* server:watch → watches for file changes, transpiles them and runs the server
* webpack:watch → watches and bundles react project on the fly
* build:client:dev → sets NODE_ENV to development and builds react project using client.dev.js config file
* build:client:prod → sets NODE_ENV to production and builds react project using client.prod.js config file
* build:client:dev:watch → sets NODE_ENV to development and watches and bundles react project
* build:client:prod:watch → sets NODE_ENV to production and watches and bundles react project
* lint → runs the linter on .js and .jsx files
* sass:watch → watches the scss folder and transpiles the scss files to css on the fly

Test

  • test → sets NODE_ENV to test runs all tests "npm run test:api & npm run test:react",
  • test:api → demigrates and remigrates test database; sets NODE_ENV to test; runs tests related to api endpoints; and creates a test report
  • test:e2e → sets NODE_ENV to test and runs end-to-end unit tests
  • test:client → sets NODE_ENV to test and runs react tests
  • test:api:migrate → sets NODE_ENV to test and migrates test database
  • test:api:demigrate → sets NODE_ENV to test and demigrates test database

Available APIs

  • API routes for users to create accounts and login to the application

    • POST : /api/v1/users (username, fullname, password, email)
    • POST : /api/v1/users/login (username, password)
  • An API route for logging out user

    • POST : /api/v1/users/logout
  • An API route that allow users to add new event

    • POST : /api/v1/events
  • An API route that allow users to modify an event

    • PUT : /api/v1/events/<eventId>
  • An API route that allow users to delete an event

    • DELETE : /api/v1/events/<eventId>
  • An API route that allow users to gets all available event centers

    • GET : /api/v1/centers
  • An API route that allow users to gets more details on a particualar event center

    • GET : /api/v1/centers/<centerId>
  • An API route that allow admin users to add new event centers

    • POST : /api/v1/centers
  • An API route that allow admin users to modify existing event centers

    • PUT : /api/v1/centers

Check here for full documentation.

License

Apache License 2.0

Screnshots

LANDING PAGE Eventsmanager Screenshot

LOGIN Eventsmanager Screenshot

PROFILE Eventsmanager Screenshot

DIALOG Eventsmanager Screenshot

events-manager-io's People

Contributors

appcypher avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.