Skip to content

lukethan/youpick

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YouPick

By: Luke O'Neil

Description:

This is my submission for CS50x's Final Project. Using flask, I created a web app called "YouPick." My inspiration was asking a friend or significant other where they wanted to eat and getting the normal response of, "Oh, I don't care, you pick!" I wanted to create an application where a user could type a prompt, such as "What do you want for dinner tonight?" and then respond to the prompt themselves. They send this prompt and response to another user and after they type their response as well, the sender's message is revealed! That way, both parties get to see the other person's choices at the same time.

I began by using the flask tutorial on making a blog because I wanted to complete this project using VSCode and WSL rather than the containerized CS50 web code space. I utilized logic from the tutorial for the login and registration pages, although I designed the HTML for them myself. After finishing this, I set up an SQLite database and made relevant schemas for users, messages, private message requests and so forth. I then designed the main page, which would be a community blog, where users could see everyone elses public messages. Then I added a create page where users could submit blog posts. I started with an input field but later found out that textarea was more appropriate for larger posts. After this, I created a page called requests, where users could submit a blog post and type the name of another user to send it to them as a direct message. I created an SQL table specifically for handling private message requests, and when a user has a request, they see the sender's name on their home page and can either accept or reject the message request. If they accept it, by clicking on private messages, they can view messages that people have sent, and they can view the content of the messages after they themselves respond.

After coding the basic pages and routes, I started fine tuning, and making improvements. I tried to create a cohesive HTML/CSS layout and color scheme. I created new tables in my databse to handle private and public messages separately, as well as adding a table for comments, so that users could share their thoughts on other people's posts. I also gave users the capability to edit or delete their posts, allowing for changes to be made after the fact. After doing each of these things, I extensively tested user input and made sure the database and webpage rendering was functioning properly. I utilized the flask tutorial to run some unit tests as well. All in all, I think that I did a decent job of adding functionality to a basic app, although my routes are a bit verbose and probably overlap too much. I look forward to learning React in the future so that I can more effectively reload portions of the page based on user changes and comments, as well as adding pending message requests and other features. I am also in the process of converting this project to a postgresql database so that I can deploy it on Heroku or AWS, but I wanted to submit it now, as this was my testing environment with SQLite.

About

Social Web App with Private Messaging

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published