mervecoskunn / project-portfolio-4

Code Institute Django Project
https://merve-project-4-dfec2093a369.herokuapp.com/
0 stars 1 forks source link

About

This is a platform where everyone can share, post, comment and like restaurants, cafes and bars in Lund/Sweden. Its purpose is to help users share their experiences, discuss their ideas, and choose a venue if they wish based on the comments they see.

The Live Site can be found here.

Table of Contents

User Experience

I designed this platform with desgin thinking approach. With only the necessary content/information. User can surf the site easily and get the information they are looking for. Please find all my defined user stories here

Admin

Member User

General User

Design Choices

Typography

Google Fonts These three fonts, Bitter, Lato and Roboto, were used on the site. Since the site is generally aimed to be simple, legible and simple font families were chosen.

bitter lato roboto

Features

Existing Features

Future Features

Wireframes

Structure

The idea behind the structure of Best Places Of Lund was to simply guide users visiting the site in a clear and understandable way. Color confusion and unnecessary information were avoided.

The Best Places of Lund site is divided into two parts: When the user is logged in and When the user is logged in. Depending on the login status, the user is presented with different pages. When the user logs out, user can access the home page, all posts, categories, the detail page where user can read the post details, and the login/register pages. When the user logs in, the home page, all posts, categories, my page, and logout options can be accessed.

Read more about the different choices in the Features section.

Databases

pgadmin4- I created database schema with pgadmin4.

Database Diagram

Post Model

Post model handles posts details: title, content, date created/updated, featured image and likes. This post model handles the base for confirming user/author authentication to manage their own posts.

Comment Model

Comment model handles the content of the comment, the username of the person commenting, date/time of commenting.

Technologies Used

Frameworks, Libraries & Tools Used

Testing

Manuel Testing

Status Main Website - User Logged Out
Typing in a incorrect URL on the page loads the 404 error page
Pasting page that needs authentication loads a forbidden page
Clicking the nav logo loads the home page
Click the Home button and all categories are listed home page
Click on the category you want to see and list the posts
Click one post and read more detail about this post
See likes and comments on the post detail page
If you want to comment, click the join discussion button.
Clicking the other categories and list their posts
Clicking the nav bar all posts and lists all posts
Clicking the login section on nav bar and login page
Clicking the register section on nav bar create an account
Clicking the youtube icon on footer and visit youtube
Clicking the facebook icon on footer and visit facebook
Clicking the instagram icon on footer and visit instagram
Status Main Website - User Logged In
Typing in a incorrect URL on the page loads the 404 error page
Pasting page that needs authentication loads a forbidden page
Clicking the nav logo loads the home page
Click the Home button and all categories are listed home page
Click on the category you want to see and list the posts
Click one post and read more detail about this post
See likes and comments on the post detail page
Clicking the like icon and like post
Write one comment on comment section and save your own comment
Clicking comment edit icon and edit or delete your comment
Clicking the other categories and list their posts
Clicking the nav bar all posts and lists all posts
Clicking the my page on navbar and go your page see two option
Click the publish post button and see create post page
Click the manage my post button and list your posts
Click the edit button on post edit your own post
Click the delete button and delete your own post
Click the publish post button and see create post page
Clicking the youtube icon on footer and visit youtube
Clicking the facebook icon on footer and visit facebook
Clicking the instagram icon on footer and visit instagram
Click the logout on navbar and see logout confirmation message
Click the logout button and see logout successful message
Status Main Website - Admin Logged In
Clicking the login section on navbar and login as admin
Clicking the nav logo loads the home page
Click the Home button and all categories are listed home page
Click on the category you want to see and list the posts
Click one post and read more detail about this post
See likes and comments on the post detail page
Clicking the like icon and like post
Write one comment on comment section and save your own comment
Clicking comment edit icon and edit or delete your comment
Clicking the other categories and list their posts
Clicking the nav bar all posts and lists all posts
Clicking the my page on navbar and go your page see two option
Click the publish post button and see create post page
Click the manage my post button and list your posts
Click the edit button on post edit your own post
Click the delete button and delete your own post
Click the publish post button and see create post page
Clicking the youtube icon on footer and visit youtube
Clicking the facebook icon on footer and visit facebook
Clicking the instagram icon on footer and visit instagram
Click the logout on navbar and see logout confirmation message
Click the logout button and see logout successful message
Add the end of the url "/admin" and see django admin panel
Clicking the categories and delete one category /add category
Clicking the comments and delete or add comments
Click the posts on admin panel and create new posts or delete
Click the posts on admin panel and approve posts, delete, edit
Click the users on admin panel and create new users
Click the users on admin panel and change their features
Clicking the categories and delete one category /add category
Status Create a Post - User Logged In
Title field is required
Title field does not accept empty field
Title field does not accept just spaces
Content field is required
Content field does not accept empty field
Content field does not accept just spaces
Category field is required
Category field does not accept empty field
Images field is required
Clicking the create post button
Sending to admin appove
Clicking the my manage post on my page checking approval posts
Status Create a New User - User Logged Out
Username field is required
Username field does not accept empty field
Email field does not accept just spaces
Email field is request
Password field does not accept empty field
Success flash message is displayed when the user submits the create a new user form
Status Create a Profile Page - User Logged In
Username field is required
Username field does not accept empty field
Email field does not accept just spaces
Email field is request
Password field does not accept empty field
Success flash message is displayed when the user submits the create a register form

Unit Testing

I have used django TestCase for automated testing views, forms and models files.

Testing :

Validator Testing:

W3C Markup Validation Service

BUGS

User Story Testing

Deployment

This project was deployed to Heroku. "Heroku is a cloud platform that lets companies build, deliver, monitor and scale apps."here

Steps to Deployment:

I have followed Code Institute's Django Blog Cheat Sheet steps to follow, create and deploy the project on Herokuapps.

How To Fork The Repository On GitHub

It is possible to do a independent copy of a GitHub Repository by forking the GitHub account. The copy can then be viewed and it is also possible to do changes in the copy without affecting the original repository. To fork the repository, take these steps:

After logging in to GitHub, locate the repository. On the top right side of the page there is a 'Fork' button. Click on the button to create a copy of the original repository.

Cloning And Setting Up This Project

To clone and set up this project you need to follow the steps below.

Credits

Acknowledgements

This project was created for Portfolio Project #4 (Full-Stack Tolkit) - Diploma in Full Stack Software Development Diploma at the Code Institute. I would like to thank my mentor Precious Ijege for relevant feedback during the project.

Merve COSKUN, 2024