This is a python app made with Django. This web app is an awarding site where users submit their projects and other users get to review and rate them.
The purpose of this Independent Project is to demonstrate your level of understanding of the various concepts in python django . Its also a chance to make further exploration and implement extra functionality.
Before you start building the project, make sure you have python installed in your device.
If you get stuck during the development of your project try checking your code well.
Identation matters alot.
At Moringa school many projects have been done (IPs, Mid-week projects) but no rating by users is done. Your objective is to create an 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 those who use it.
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.
As a user, you can:
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.
Projects
Projects should have a Title, an image of the project's landing page, a detailed description of the project, a link to the live site.
Profile
Your project should have a user profile that at least the following information:
Profile picture of the user.
User Bio
Projects the user has posted
A contact information of the user.
An Authentication System Your application should have a solid authentication system that allows users to sign up or log in to the application before posting or rating a project.
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.
- CRUD : Create, Retrieve, Update, Delete
- Create List and Search
- GET, POST, PUT, MATCH, DELETE
Use a serializer for consistency
JSON -> Serializer
Validation -> Serializer
These instructions will get you a copy of the project running on a local host.
Step 1: git clone - https://github.com/Jeffmusa/awwardIT.git
Step 2: Enter the Project root folder
cd awwardIT/
install virtual environment (venv) without pip
python3.6 -m venv --without-pip virtual
Step 3: Activate virtual environment
source virtual/bin/activate
install pip using curl
This project should be deployed to heroku.
Deploying is a process and here is hhow to do it.
- Python3.6.5 - Python is a programming language that lets you work quickly and integrate systems more effectively
- Django framework - Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design
- Postgresql - PostgreSQL is a powerful, open source object-relational database system with over 30 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance. Versioning version 1.0.0
- Heroku -For hosting the app
No known bugs but any found can be reported
jeffmusa05@gmail.com
Jeff Musa
This project is licensed under the MIT License
Moringa School