EventManager is a light-weight app that allows users to manage and book centers for their events.
Click here to view our detailed API documentation
- API is hosted on https://eventmanager-app.herokuapp.com/api/v1/home
- Application is hosted on https://eventmanager-app.herokuapp.com
- NodeJS - A Javascript runtime built on chrome V8 engine that uses an event-driven non-blocking I/O model that makes it lightweight and efficient.
- ExpressJs - A minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications.
- Sequelize - An ORM for Node.js that supports the dialects of PostgreSQL and features solid transaction support an relations.
- Postgres - A powerful, open source object-relational database system.
- React - A JavaScript library for building user interfaces by Facebook.
- Redux - A predictable state container for JavaScript apps.
- Users can see a landing page.
- Users can create accounts by signing
- Registered users can login with username and password.
- Registered users can add events to the application.
- Registered users can edit their events in the application.
- Registered users can delete their events in the application.
- Registered users can view all centers in the application.
- Registered users can view the details of a center and the events slated for that center
- Users get email notification when their events is declined by the admin
- Registered users with admin privileges can add a center
- Registered users with admin privileges can edit a center
- Registered users with admin privileges can delete a center
-
Install
node
, version 7 or greater -
Install
postgres
-
Clone the repository
git clone https://github.com/Felglitzzz/EventManager.git
-
Navigate to the project directory
cd ~/path/to/EventManager
-
Install all dependencies
npm install
-
Configure Postgres
configure your database settings for development and test in `./server/config/config.json` using .env.example file template
-
Run database migrations
$ sequelize db:migrate
-
Seed the database
$ sequelize db:seed:all
-
Start the app
npm start:dev:watch
-
Run the application on browser
http://localhost:1991/
- Run both client and server tests together
npm test
- Uses
Chai
andChai-Http
- Have a test database
npm run server-test
- Uses
Jest
andEnzyme
npm run client-test
- Uses
Nightwatch
npm run e2e-tests
- Users can only access full application features when they sign up or logged in
- Users can neither edit nor delete center
- Password reset feature is currently not available on the app
- Users cannot deactivate their accounts
- Users will have to obtain a new token every 24 hours
- Users cannot signup/sign-in with their social media accounts
- Search features is currently unavailable on the app
- Users cannot receive email notification when they sign-up
- Users cannot receive email notifications ehrn they create events
If you are interested in contributing to development of this project, follow the instructions below to contribute.
-
Fork the repository
-
Make your change
-
Commit your change to your forked repository
-
Provide a detailed commit description
-
Raise a pull request against the develop branch
-
Please see Event Manager (Eventeria) wiki for project conventions
Anyone can! Just follow the contribution guidelines above
Yes please check the project wiki for project conventions.
Yes!. This application is licensed under MIT, and is open for
everybody
This project is licensed under the MIT License