#####Demonstrating The Power Of Django and Django Rest Framework.
####Life is but for a moment, best to take advantage of it with Moments Bucketlist.
Moments buckelist is a simple Web App that allows you to create and record moments of your life dreams and prospects, pending when YOU have accomplished them.
In addition to the Web App, an Application Programmable Interface (API) is also available for developers to build on and take advantage of the cool features the Web-service provides.
#####What cool features ?
##API Documentation
You can search for buckelists that contains any particular "string" you pass as query parameters
Example: GET /api/buckelists/?q=boy
You can also paginate your view via page style.
Example: GET /api/buckecketlists/?page=3
You can also paginate your view via limits and offset style
Example: GET /api/bucketlists/?limit=5&offset=3
You can also decide to combine your search and pagination or not!
Example: GET /api/bucketlists/?q=andela&page=2&limit=5&offset=1
To register send to the endpoint below your
{'username':'myusername','email':'myemail', 'password':'mypassword'}
as a json data in the body of your request.
Example: POST /api/user/register/
To login send to the end point below your request.
{'username':'myusername', 'password':'mypassword'}
Example: POST /api/auth/login/
Get a Token and you make calls to the protected endpoints..
Note: For clients to authenticate, the token key should be included in the Authorization
HTTP header. The key should be prefixed by the string literal "Token", with whitespace separating the two strings.
For example:Authorization: Token 9944b09199c62bcf9418ad846dd0e4bbdfc6ee4b
Enjoy!
For other methods available and how to use them please view
our api documentation
via this link API Docs
This Project is hosted live on herokuapp where you can signup and begin your moments. Sign Up
Built using Django and Django Rest framework, frameworks of Python programmimg Language shows how powerful the language can be if used effectively.
##Application Explained.
- User sign's up for a wonderful experience.
- User sign's in after Sign up.
- User creates a bucketlist and a bucketlist item.
- User can choose to add an item to an existing bucketlist.
- User can view existing buckelist.
- User can Edit existing bucketlist.
- User can view existing buckelist items.
- User can Edit existing bucketlist items.
- User can Update or delete existing buckelist.
- User can Update or delete existing buckelist items.
- User can search for bucketlist.
- User can mark a bucketlist item as done if he/she has done it.
##Build Locally
To build this project you will need to have git and python
installed on your local machine. Python, Git. Once insatlled
- Make a directory for the project.
mkdir project
- Change directory to project
cd project
and - Clone this repository using
git clone [repo_url]
- Get a virtual environment up using
virtualenv my_environment
- Install all requirements needed for project to run
pip install -r requirements.txt
- Change directory to project
cd BuckelistApp
- Be sure to have a postgress database setup by creating a
.env.yml
file and add it to yourroot
file, have the followingconfig
in the.env.yml
file. - Set your Database name to :
BucketlistApp
on your pgAdmin - Be certain you are in the BucketlistApp dir and run
python manage.py runserver
.
.env.yml format:
SECRET_KEY:
'some-random-crazy-value'
DB_USER:
'Your Db username'
DB_PASSWORD:
'Your Db pssword'
Have Fun!