An Django Rest API for fetching and creating trips and their schedules.
Project description
Django Trips API
This is a Django Rest API for fetching and creating trips and schedules.
Installation
Simply do:
pip install django-trips
Usage
Add the app into your installed apps in your project's settings file.
INSTALLED_APPS = [
...
'django_trips',
]
Add the following to your root urls.py file.
urlpatterns = [
...
url(r'^trips/', include('django_trips.urls'))
]
Note that the URL path can be whatever you want.
API
The following pages are served in the development:
Page | Method | URL |
---|---|---|
Trips List | GET | http://localhost:8000/api/trips/ |
Search Trip | GET | http://localhost:8000/api/trips?name=Islamabad/ |
Single Trip | GET | http://localhost:8000/api/trip/trip-id-or-slug/ |
Update Trip | PUT | http://localhost:8000/api/trip/trip-id-or-slug/ |
Update Trip | PATCH | http://localhost:8000/api/trip/trip-id-or-slug/ |
Delete Trip | DELETE | http://localhost:8000/api/trip/trip-id-or-slug/ |
API permissions
Authentication |
---|
SessionAuthentication |
BasicAuthentication |
Permissions |
---|
IsAuthenticated |
Trip List
http://localhost:8000/api/trips/
This endpoint is used to list all the trips Using the GET request type.
Search Trip
http://localhost:8000/api/trip/id-or-slug
Search specific trips. Here are the params that can be passed while searching. You can also mix the params together to narrow down the search.
param | description | example |
---|---|---|
name | Search Trips that contains specific name. | /api/trips/?name=Islamabad |
price | Find trips that contains price greater than or equal | /api/trips/?price=200 |
duration | Find trips of duration (days) greater than or equal | /api/trips/?duration=2 |
from_date | Find trips that are scheduled greater than or specified date | /api/trips/?from_date=2020-01-02 |
to_date | Find trips that are scheduled less than or equal to specified date | /api/trips/?to_date=2020-01-02 |
Single Trip
http://localhost:8000/api/trip/id-or-slug
This endpoint is used to fetch a single trip using GET request type.
Update Trip (using PUT)
http://localhost:8000/api/trip/trip-id-or-slug/
This endpoint is used to update a single trip using PUT request type. You would need to pass the complete trip object.
reset_of_params = {}
data = {
'age_limit': 39,
**reset_of_params,
}
Update Trip (using PATCH)
http://localhost:8000/api/trip/trip-id-or-slug/
data = {
'age_limit': 39,
}
Update Trip (using PUT)
http://localhost:8000/api/trip/trip-id-or-slug/
This endpoint is used to delete a single trip using DELETE request type.
Develop Django Trips
Kick the docker build using the following command.
make build
This task may take few minutes.
Once the build has been completed, spin up the docker and migrate the database.
> make run
> make shell
> make update_db
Create a superuser with username admin
.
> make shell
> python manage.py createsuperuser
Create batch of trips. Run the following command inside docker shell.
> python manage.py generate_trips --batch_size=100
OR
> make random_trips
Docker Commands
Action | Command |
---|---|
Run Server | make run |
Trail Logs | make logs |
Attach sever | make attach |
Stop server | make stop |
* Destroy docker container. | make destory |
* caution, this will remove all your data.
How to Contribute
Contributions are welcome!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for django_trips-0.2.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 816e50e8f7e5eaad40fc0c7eec4db5de8364c2f9834ebfcd02b3e4d3889b7e9a |
|
MD5 | f4f84a84f151d0f852ec61f590fb2488 |
|
BLAKE2b-256 | 398684d2758d5531599c73856b1b33a0e2d9432b742870d923cdfc412e582524 |