{"id":21967438,"url":"https://github.com/cayo-rodrigues/joking","last_synced_at":"2026-04-07T20:31:37.396Z","repository":{"id":51692308,"uuid":"387877982","full_name":"cayo-rodrigues/joking","owner":"cayo-rodrigues","description":"A social network where you can share puns (CS50x final project)","archived":false,"fork":false,"pushed_at":"2022-10-22T01:13:05.000Z","size":9039,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-22T22:14:01.130Z","etag":null,"topics":["ajax","bootstrap","css","flask","html","javascript","jinja2","jquery","python","sql","sqlite","webapp"],"latest_commit_sha":null,"homepage":"https://joking.onrender.com/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cayo-rodrigues.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-07-20T18:16:59.000Z","updated_at":"2023-04-11T15:38:45.000Z","dependencies_parsed_at":"2023-01-20T08:02:20.720Z","dependency_job_id":null,"html_url":"https://github.com/cayo-rodrigues/joking","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cayo-rodrigues/joking","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cayo-rodrigues%2Fjoking","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cayo-rodrigues%2Fjoking/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cayo-rodrigues%2Fjoking/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cayo-rodrigues%2Fjoking/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cayo-rodrigues","download_url":"https://codeload.github.com/cayo-rodrigues/joking/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cayo-rodrigues%2Fjoking/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31528288,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"ssl_error","status_checked_at":"2026-04-07T16:28:06.951Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ajax","bootstrap","css","flask","html","javascript","jinja2","jquery","python","sql","sqlite","webapp"],"created_at":"2024-11-29T13:27:25.018Z","updated_at":"2026-04-07T20:31:37.365Z","avatar_url":"https://github.com/cayo-rodrigues.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JOKING\n\n### Website URL\n\nhttps://joking.onrender.com/\n\n### Video Demonstration\n\nhttps://drive.google.com/file/d/1WlDjifUOROhicYQ62elW9S6AlMDdtWDM/view?usp=sharing\n\n---\n\n## General\n\nJoKing is a social network for sharing \u003cs\u003ebad\u003c/s\u003e puns. Users can see their profile, upload profile pictures (`jpg`, `png` or even `gifs`), share their own jokes, like and comment other's jokes and see other user's profile pages.\n\nIt is built on top of `Python` and `Flask`, using `SQLite` for the database. Profile pictures are stored in the filesystem. The frontend side of the application was developed using `HTML`, `CSS`, `Javascript`, `Bootstrap` and `JQuery`. Also, `Jinja2` is used as a templating engine.\n\n## Background\n\nThis project was developed as a Final Project for [CS50X 2021](https://cs50.harvard.edu/x/2021/). I began to work on this project shortly after concluding the course. I remember that I had a really great time working on this. Everyday I would have to search the internet looking for how to implement some new feature, and I learned really **a lot** in the proccess. I mean, that's one of the things that the course taught me, to teach my self. It took me quite a while to finish it.\n\nBack then, I tried but I just couldn't deploy it to **Heroku**. Maybe I just didn't have the maturity I have now to read error logs :joy:. But anyway, now (2022-07-27), I decided to take this project one step further. Finally, after some major debbuging, JoKing is live on the internet!\n\nSince this project is hosted by **Heroku**, and it is using `SQLite`, all new info desappear every 24 hours. Back then I didn't know about `PostgreSQL` (or any other database system that work as a server) or how to use it, and since this project is not meant to be a social network for real, I decided to stay with `SQLite`.\n\n## Final Thoughts\n\nYeah, if you look at the source code, you're gonna see how much it could be better, especially when it comes to organization and setting standards. Many things could have been broken in smaller pieces, such as `app.py` and `helpers.py`, for instance. Maybe the database tables could have been better designed in some ways too. \n\nBut looking back, considering the amount of knowledge I had back then, and my former naiveness, this project is really a great milestone. It is my first full stack project. So I am really happy to see that it works so well, despite some lack of good practices.\n\nSure, there are some things that could possibly be added, such as a \"forgot my password\" feature, a way for users to edit their personal info, a friendship system and so on. Also it'd be cool to maybe have some way to track how many likes users have in total, and create a page to display the top rated ones, then whoever would be the first, would become the Jo**King**.\n\n## Credits\n\nThe amazing **CS50 staff** must be credited for the fancy responsive navbar made with bootstrap classes. Althogh I made some changes, it is clear that it's got the same base as the navbar used in **Problem Set 9, Finance**. Besides that, I grabbed the `login_required` function from them too.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcayo-rodrigues%2Fjoking","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcayo-rodrigues%2Fjoking","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcayo-rodrigues%2Fjoking/lists"}