A webapp and server that lets the event planners control which events that show up in Barteguiden.
##Setup
You'll need Node
, grunt
, bower
, mongodb
,imagemagick
and compass
.
Clone the repo with
git clone [email protected]:Studentmediene/Barteguiden.git
cd
into the directory and run
npm install
bower install
grunt
This might take some time. Now, the site should be available at http://localhost:9000/
To add a test user with the username and password test
Run export NODE_ENV='development'
before running grunt
The server uses MongoDB, which it assumes runs on port 27018 (note, not 27017!)
You may use sudo mongod --port=27018
to start it
You may want to change the argument to CronJob
in server/import/import_scripts/jobs.js
to a pattern occuring more often (like '00 * * * * 0-6'
) for debugging purposes.
grunt build
The minified files are now in the dist folder.
##API
Warning: this is not a complete spec of the API!
To get all events, or events with a specific Id, use
GET /api/events/[:event_id]
Auth required? |
---|
No |
To add a new event, you could either POST
, without having to specify an Id,
or you could PUT
, with an Id. When adding a new event, you most likely want
to use POST
, and when updating an existing event, you want to use PUT
.
POST /api/events/
PUT /api/events/:event_id
Name | Type | Description |
---|---|---|
title | String | The title of the event |
description | String | Description of the event |
startAt | Date | Start time of event |
endAt | Date | End time of event (optional) |
venue | Object | Name, Address, latitude, and longitude of the event |
ageLimit | Number | Age limit of the event |
price | Number | Price of admision for the event |
tags | [String] | All tags related to the event |
isPromoted | Boolean | Featured event |
isPublished | Boolean | |
imageUrl | String | An URL to an image for the event |
eventUrl | String | An URL to the event website |
Auth required? |
---|
Yes |
DELETE /api/event/:event_id
Auth required? |
---|
Yes |
To get all venues, or venues with a specific Id, use
GET /api/venues/[:venue_id]
Auth required? |
---|
No |
To add a new venue, you could either POST
, without having to specify an Id,
or you could PUT
, with an Id. When adding a new venue, you most likely want
to use POST
, and when updating an existing venue, you want to use PUT
.
POST /api/venues/
PUT /api/venues/:venue_id
Name | Type | Description |
---|---|---|
name | String | Name of the location |
address | String | The locations address |
latitude | Number | Latitude |
longitude | Number | Longitude |
Auth required? |
---|
Yes |
DELETE /api/venues/:venue_id
Auth required? |
---|
Yes |
To get all users, or users with a specific Id, use
GET /api/users/[:user_id]
Auth required? |
---|
Yes |
As with Events, use POST
when adding a new user, and PUT
when updating an
existing user.
POST /api/users/
PUT /api/users/:user_id
Name | Type | Description |
---|---|---|
username | String | Username of the user |
password | String | Password of the user |
Auth required? |
---|
Yes |
DELETE /api/users/:user_id
Auth required? |
---|
Yes |