Code Monkey home page Code Monkey logo

ievents's Introduction

ievents Build Status Coverage Status Maintainability

This is a web application to help manage event centers - https://ievents-otz.herokuapp.com/
Given you manage event centers, this app will help you accept applications to use your center/facilities, and will either decline events when the proposed day is already taken, or suggest an available day.

Hosted Application

The Application is hosted on heroku here: https://ievents-otz.herokuapp.com/

API Documentation

The API for this application is documented here: https://ievents-otz.herokuapp.com/api-docs

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

  • Git
  • Node
  • Postgres Database
  • A Cloudinary Account

Installation

  • Clone the repository $ git clone https://github.com/IAMOTZ/Ievents.git
  • Change into the directory of the project
  • Use $ npm install to install all the dependency packages.
  • Create a .env file in the root folder to provide all the needed environment variables as specified in .env.example
  • Use $ npm start to run the app in production
  • Use $ npm run dev:server to start the server for develpment
  • Use $ npm run dev:client to start webpack-dev-server for client development(make sure to start the server first)
  • Use $ npm run dev:template to start gulp and browserSync for template development

Testing

The applicaiton uses:

  • Mocha and Chai for the server side testing
  • Jest for client side testing
  • Nightwatch for End to End testing

Run the following to execute the tests

  • Use $ npm run test:server to run the server tests
  • Use $ npm run test:client to run the client tests
  • Use $ npm run e2e:setup to set up the End to End test and then $ npm run e2e:test to run the End to End tests

Features

Every user can do the following:

  • Users can create account(signup/signin/signout)
  • Users can view all the centers in the application
  • Users can add events(same as booking a center)
  • Users can see all events they added
  • Users can modify their events
  • Users can delete their events
  • Users can change their password
  • Users can delete their account
  • Users would get email notification if their events is canceled

Admin user can do everything a normal user can do with the following:

  • Admin users can add a center
  • Admin users can modify a center
  • Admin users can see all transactions(Bookings for different centers)
  • Admin users can delete a transaciton(Cancel an event)

There is a super admin that is created as soon as the app is instantiated:

  • Super Admin can add more admins

Technologies and Services

Development

  • Node
  • Express
  • Postgres
  • React
  • Cloudinary

CI Tools

  • Travis
  • Coveralls
  • Code Climate

Contributing

To contribute to this project:

  • Fork the repository
  • Create a new branch for your contribution
  • Commits your changes with detailed commit messages
  • Raise a pull request against the develop branch

You can check the project Wiki for coding styles and conventions.

Any other form of contribution is also allowed, as long as it makes this project get better.

Author

Ogunniyi Tunmise

License

This project is licensed under the MIT License

ievents's People

Contributors

iamotz avatar kensanni avatar

Stargazers

Haruna Salami avatar Daniel Coker avatar Data Ng avatar  avatar Bode Okunfolami avatar

Watchers

James Cloos avatar

Forkers

dr-data

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.