- Notifications
You must be signed in to change notification settings - Fork15
License
LittleByLittleLabs/custom-build-api-seed
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This repo contains a seed project to help you start building a microservice with custom API endpoints.
If this is your first time, do the following after you clone:
# create a virtualenv environmentvirtualenv venv# start virtualenv environment source venv/bin/activate# install dependencies needed for your apppip install -r requirements.txt# start the server python requests/app/api.py# stop virtualenv environment deactivate
For subsequent runs, simply do the following:
# start virtualenv environment source venv/bin/activate# start the server, ctrl-c if you want to stop serverpython requests/app/api.py# Test 1: in separate console window, retrieve all studentshttp GET http://localhost:5000/students/# Test 2: in separate console window, create a new studenthttp POST http://localhost:5000/students/ name=Armen# Test 3: in separate console window, retrieve a specific userhttp GET http://localhost:5000/students/1# Test 4: in separate console window, update an existing userhttp PUT http://localhost:5000/students/1 name="Changed Name"# stop virtualenv environment when you're finisheddeactivate
Challenge (due April 5th):
1. Complete the `For subsequent runs` section above2. Write a script which will test the 4 endpoints above (GET, POST, GET, PUT) using curl.3. Write a script which will populate 30 records into your database.
Challenge (due April 12th)
Find a data set
Create a SQL schema
Write a script to extract and transform the data into an input file
Implement REST POST endpoint to populate data into sqlite
Write a script to load data into DB using curl from previous step
Some interesting product feature ideas may be:
Best Posts
Worst Posts
Most Controversial
Most Commented
Most/Least posts by author
Top Site References
**Don't forget to push your github branch on Mondays.
Instructions for Git Workflow
1. Git pull or Git clone repo which you plan to make changes to 2. Create a branch using (`git checkout -b branchname`) 3. Make the changes4. Commit the changes locally5. Push changes to remote repo (`git push -u origin branchname`)6. Create Pull Request and send to reviewers7. Address reviewer comments and merge Pull Request to master
Challenge (due April 17th)
We discussed in class what and how to use Apache Bench (https://www.digitalocean.com/community/tutorials/how-to-use-apachebench-to-do-load-testing-on-an-arch-linux-vps).
Your challenge for this week is to create a report in markdown format callledload_test.md
. This report should contain a few benchmarks/scenarios which you can perform on your app. If you haven't gotten previous weeks challenge to work, then you can simply clone and run the seed github project for students as you did 3 weeks ago.
Please provide an explanation for each load test scenario and your justification for why or how you came up with the different values for-n
&-c
flags. You can also try usingngrok
after you document your tests forlocalhost
and explain differences.
Challenge Due (April 25th)
- Implement a 404.html error page
# todo: implement this template@app.errorhandler(404)def not_found(e): return render_template('404.html')
Implement a
index.html
for your project and make it look pretty. Useapp/index.html
as an example.Get
vagrant up
working for your project
About
Resources
License
Uh oh!
There was an error while loading.Please reload this page.