A Django application like Awwards (It doesn't necessarily have to be exactly the same). The application will allow a user to post a project he/she has created and get it reviewed by his/her peers.
The application will allow a user to post a project he/she has created and get it reviewed by his/her peers.
A project can be rated based on 3 different criteria
- Design
- Usability
- Content
- These criteria can be reviewed on a scale of 1-10 and the average score is taken.
- User stories As a user, I would like to:
- View posted projects and their details
- Post a project to be rated/reviewed
- Rate/ review other users' projects
- Search for projects
- View projects overall score
- View my profile page
- API Endpoints You should create an API so that users can access data from your application. You can create two API endpoints:
- Profile - This endpoint should return all the user profiles with information such as the username, bio, projects of the user and profile picture
- Projects- This endpoint should return information pertaining to all the projects posted in your application.
- Python and pip (I am currently using 3.9.7) Any version above 3.7 should work.
- Git installed on your machine
- Code editor/ IDE
- PostgreSQL installed on your machine
-
Clone GitHub repository
git clone https://github.com/KenMwaura1/zoo-awwards
-
Change into the folder
cd zoo-awwards
-
Create a virtual environment
python3 -m venv venv
- Activate the virtual environment
source ./bin/activate
-
If you are using pyenv:
3a. Create a virtualenv
pyenv virtualenv zoo_awwards
3b. Activate the virtualenv
pyenv activate zoo_awwards
-
Create a
.env
file and add your credentialstouch .env
OR Copy the included example
cp .env-example .env
-
Add your credentials to the
.env
file5a. Create a free cloudinary account and get your credentials to enable photo uploading deployed.
OR
5b. Uncomment line 17 and line 43 in z_awwards/models.py to save and serve images locally.
-
Migrate your database
python manage.py migrate
-
Install the required dependencies
pip install -r requirements.txt
-
Make the shell script executable
chmod a+x ./run.sh
-
Run the app
./run.sh
OR run with python
python manage.py runserver
-
To run the tests:
python manage.py test
- https://zoo-awwards.herokuapp.com/api/users/
- https://zoo-awwards.herokuapp.com/api/profiles/
- https://zoo-awwards.herokuapp.com/api/projects/
- Python-3.9.7
- Django web framework
- PostgreSQL
- Cloudinary
- Bootstrap(Material Bootstrap 4)
- HTML5
- CSS3
MIT License
Copyright (c) 2021 Kennedy Ngugi Mwaura
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so.