You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: assignment5.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
-
# Assignment 6: Twitter v192
2
-
> Due Friday, November 29th at 11:59 PM. You are permitted one collaborator for high-level ideas but each student must write their own code.
1
+
# Assignment 5: Twitter Version 192
2
+
> Due December 1st at 11:59 PM. Start early and make use of office hours!
3
3
4
4
## Introduction
5
5
The beauty of web development is its ability to create software that anybody with an internet connection can use. In this assignment, you will implement a clone of my favourite social media - Twitter! An implementation of the website is available [here](https://twitter.kirubarajan.com) and you are expected to recreate all the functionality from the site. This might seem a little daunting - but I assure you that everything you need to know has been covered in lecture.
@@ -20,7 +20,7 @@ The recommended approach to developing this application is to start by writing t
20
20
You should also write the URLs and views to simply render the templates too, in order to both debug and set up some boilerplate for you to implement in Milestone 3. Be sure to use a CSS framework to keep your web pages production-ready. I like to use Bootstrap or Bulma, but anything that doesn’t use Times New Roman is fair game.
21
21
22
22
## Milestone 2: Accounts System
23
-
Once you have a working accounts system, the entire flow of development will be completely different. Django’s authentication system lets us implement this very easily (refer to Week 7’s lecture notes for more information). It is not necessary to extend the user model (e.g. bio, profile picture etc.), but extra credit will be given where due!
23
+
Once you have a working accounts system, the entire flow of development will be completely different. Django’s authentication system lets us implement this very easily (refer to the lecture notes for more information). It is not necessary to extend the user model (e.g. bio, profile picture etc.), but extra credit will be given where due!
24
24
25
25
## Milestone 3: Model Definitions
26
26
The only two models that you need to implement are a `Tweet` model and a `Hashtag` model. Be sure to make use of SQL relationships, namely the `foreign_key` and `ManyToMany` relationships. In class we've seen foreign keys, in which we relate two objects together. The `ManyToMany` relationship is an extension of the foreign key, where an object can be associated with a set of relationships to object of the same type (think Facebook posts having a `ManyToMany` relationship with comments). Read more about it [here](https://docs.djangoproject.com/en/2.2/topics/db/examples/many_to_many/).
@@ -32,7 +32,7 @@ Be sure to create a user using `createsuperuser` and use the admin page to test
32
32
**HALF WAY POINT ([https://www.youtube.com/watch?v=EBZp9IZFdTU](https://www.youtube.com/watch?v=EBZp9IZFdTU))**
33
33
34
34
## Milestone 3: Views
35
-
It’s time to put everything together and make your application functional! Create the associated views that correspond to the templates and forms that you wrote in your HTML. Think hard about how to parse hashtags in the body of POSTed tweets. Look into regular expressions, or feel free to implement your own string search.
35
+
It’s time to put everything together and make your application functional! Create the associated views that correspond to the templates and forms that you wrote in your HTML. Think hard about how to parse hashtags in the body of POSTed tweets. Look into regular expressions, or feel free to implement your own string function to identify hashtags.
36
36
37
37
## Submission and Grading
38
38
This assignment will be graded manually and will be evaluated on correctness and overall project design (including style). Create a file named `README.md` in the root directory of your project. This README file should document your routes, any design considerations you made, any collaborators, and any extra credit. The README file should also include information on how to run the server. Be sure to `pip freeze` into `requirements.txt` using `pip freeze > requirements.txt` so the staff know what third party packages are used.
@@ -50,4 +50,4 @@ We will be giving extra credit for **any extra functionality** based on effort r
50
50
4. Error handling (5%)
51
51
52
52
## Best of 192 Award
53
-
The CIS 192 staff will be selecting one project to win our **Best of 192 Award**! The winning project will be hosted (for free!) on the 192 server and will be listed on the course website. In addition, you will be given a 15% bonus on your assignment.
53
+
The CIS 192 staff will be selecting one project to win our **Best of 192 Award**! The winning project will be hosted (for free!) on the 192 server and will be listed on the course website. In addition, you will be given a 15% bonus on your assignment.
0 commit comments