# Part 1: APIs

## Objectives

* Use prior concepts like RESTful endpoints, JWT tokens, and MongoDB to solve a problem
* Create a functioning API with a team

This is part 1 of a two-part, day-long hackathon. Winners will be rewarded hansomely at the discretion of the instructional staff.

## Theme

Your theme for this hackathon will be given to you by your instructors.

* Create a RESTful API that uses the following technologies:
  * Node.js
  * Express
  * MongoDB
  * Mongoose
* You must create at least two models (embedded documents count)
* JWT authentication is optional, but great if you want to protect your endpoints.
* You must deploy to Heroku sometime today. However, you can do so in the afternoon if you run out of time (Hint: <https://devcenter.heroku.com/articles/mongolab#adding-mongolab-as-a-heroku-add-on>)
* You may work in groups of 2-4 people (use git)
* Test using Postman or another client
* Feel free to data scrape or find other ways to populate the database for your API.
* Note that there is a lot to do: teamwork is key


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://romebell.gitbook.io/seirfx-621/projects/mean-hackathon/api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
