yarn dev
: start dev serveryarn start
: build service and start PM2 process with arg--name Turtle
yarn restart
: rebuild service and restart named PM2 processyarn stop
: stop named PM2 processyarn delete
: delete named PM2 processyarn build
: run build scriptsyarn logs
yarn hydrate
Setup your env variables before anything else
See example.env
- The email templates are housed in the following pen
Heres the breakdown:
- Code as if you were using regular HTML & CSS.
- Once you're happy with the template, you need to make it compatible with emails.
- Mailchimp gives us a tool we can use to inline/reorganize or HTML & CSS to look pretty on email clients.
Visit this link for mail inliner
Example inliner code
<style>
<!-- Paste CSS from Codepen here -->
</style>
<!-- Paste HTML from Codepen here -->
<!-- No <html></html> tags needed -->
Once you pass it through the inliner, you can now use it as a template.
-To create a new hacker object into the database
- Example request
{
"firstName":"John",
"lastName":"Doe",
"email":"John@gmail.com",
"password":"secretPassword",
}
-To login a user based on email/password. Returns a JWT on success
- Example request
{
"email":"John@gmail.com",
"password":"secretPassword",
}
-To insert information from a hacker's application based on email (needs login token in header)
- Example request
{
"email":"John@gmail.com",
"schoolName":"Florida International Univeristy",
"levelOfStudy":"Freshman",
"graduationYear":"2022",
"major":"Computer Science",
"gender":"Male",
"dob":"10/29/1997",
"race":"hispanic",
"phoneNumber":"111-111-1111",
"dietaryRestriction":"None",
"firstTimeHack":"false",
"howDidYouHear":"friends",
"favoriteEvents":["Cup Stacking","Soylent Pong"],
"areaOfFocus":"Web Development",
"resume":"URL",
"reasonForAttending":"Love Hackathons",
"haveBeenToShell":"true",
"likeAMentor":"false",
"needReimburesment":"false",
"location":"Miami",
"shirtSize":"Medium"
}
-Gives back an individual hackers information based on given ShellID (needs login token in header)
- Example request
{
"shellID":"Id1"
}
-Changes a hacker's status to confirmed based on email (needs login token in header)
- Example request
{
"email": "john@gmail.com"
}
-Accepts hackers based on given array of shellIDs (needs admin privilages)
- Example request
{
"shellIDs":["Id1","Id2"...]
}
-Checks in indicidual hacker based on shellID (needs admin privilages)
- Example request
{
"shellID": "Id1"
}
- Example request
{
"firstName": "Mike",
"lastName": "Swift",
"email": "foo@bar.com",
"skills": "I can code with no shoes on."
}
- Example request
{
"firstName": "Mike",
"lastName": "Swift",
"email": "foo@bar.com"
}
- Example request
{
"firstName": "Mike",
"lastName": "Swift",
"title": "Intro to JS.",
"Description": "I will show people how to use JS."
}
This route is used to fetch any info
-
Example request
-
Route: api.mangohacks.com/cabinet/confirmed
-
Authorization : "Bearer eyJhbGciOiJIUzI1Nixxxxxxxx"
returns
"data": [
{
"diet": "N/A",
"mlh": "AGREE",
"timestamp": "2019-01-26T23:20:39.137Z",
"confirmation": false,
"_id": "xxx",
"firstName": "David",
"lastName": "Castaneda",
"email": "email@fiu.edu",
"school": "Florida International University",
"major": "Computer Science",
"levelOfStudy": "JUNIOR",
"resume": "https://drive.google.com/",
"gender": "MALE",
"shirtSize": "MEDIUM",
"__v": 0
},
]
{
"email": "email"
}
{
"email":"example@email.com",
"newPassword": "5555555",
"token": "......"
}
###PUT '/application/confirmation'
{
"email": "example@email.com",
"emailConfrimationToken": "....."
}
requires admin token
{
"title": "example",
"category": "emergency",
"body": "SHEEEEEEEEELLLLLLLLLHACKKKKKKS",
"author": "thatboi"
}
{
"title": "example",
}
requires admin token
{
"title": "example",
"category": "emergency",
"body": "SHEEEEEEEEELLLLLLLLLHACKKKKKKS",
"author": "thatboi"
}
requires admin token
{
"title": "example"
}
requires admin token
{
"title": "example"
}