Browse Source

audit forum and sqlite

content-update
OGordoo 4 years ago
parent
commit
5a5694f433
  1. 66
      subjects/forum/forum.audit.en.md
  2. 29
      subjects/forum/forum.en.md

66
subjects/forum/forum.audit.en.md

@ -1,6 +1,24 @@
#### Functional #### Functional
###### Has the requirement for the allowed packages been respected? ##### Enter the website as a non-registered user.
###### Are you able to see posts/comments?
##### Enter the website as a non-registered user.
###### Are you prohibited to create a post/comment?
##### Enter the website as a registered user.
###### Are you able to create a post/comment?
##### Try creating a post as a registered user.
###### Are you able to choose a category for that post?
###### Is the forum composed of services?
#### SQLite
###### Does the code contain at least one CREATE query? ###### Does the code contain at least one CREATE query?
@ -8,9 +26,49 @@
###### Does the code contain at least one SELECT query? ###### Does the code contain at least one SELECT query?
###### Are there HTTP requests between the database and the server? ###### Does the code contain at least one DELETE query?
###### Is the use of the sqlite3 command missing from the code?
##### Try registering in the forum, open the database with `sqlite3 <database_name.db>` and perform a query to select all the users (Example: SELECT * FROM users;).
###### Does it present the user you created?
##### Try creating a post in the forum, open the database with `sqlite3 <database_name.db>` and perform a query to select all the users (Example: SELECT * FROM post;).
###### Does it present the post you created?
###### Did the server behaved as expected?(did not crashed)
###### Does the server use the right [HTTP method](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods)?
###### Has the website runned without crashing at anytime?
###### Are all the pages working? (Absence of 404 page?)
###### Does the project avoid [HTTP status 400](https://kinsta.com/knowledgebase/400-bad-request/#causes)?
###### Does the project avoid [HTTP status 500](https://www.restapitutorial.com/httpstatuscodes.html)?
###### Are the libraries used allowed?
#### General #### General
###### + ###### +Is the database a service?
#### Basic
###### +Does the project runs quickly and effectively? (Favoring recursive, no unnecessary data requests, etc)
###### +Does the code obey the [good practices](https://public.01-edu.org/subjects/good-practices.en)?
###### +Is there a test file for this code?
#### Social
###### +Did you learn anything from this project?
###### +Can it be open-sourced / be used for other sources?
###### +Would you recommend/nominate this program as an example for the rest of the school?

29
subjects/forum/forum.en.md

@ -5,13 +5,12 @@
This project consists in creating a web forum that allows : This project consists in creating a web forum that allows :
- communication between users and the community through the creation of posts/comments. - communication between users and the community through the creation of posts/comments.
- non-registered users to only see posts/comments.
- registered users to like or dislike posts/comments.
- associate posts to categories. - associate posts to categories.
- non-registered users to only see posts/comments.
Your forum should work based on services. Using services to create a project means that instead of having a monolith architecture, you actually have various components distributed across a cluster of instances. In other words, dividing the project in smaller "projects", this way it becomes easier to understand and your project will become more scalable. Your forum should work based on services. Using services to create a project means that instead of having a monolith architecture, you actually have various components distributed across a cluster of instances. In other words, dividing the project in smaller "projects", this way it becomes easier to understand and your project will become more scalable.
- For example for a taxi like application you can divide it in : passenger management, billing, notifications, payments, trip management and driver management. - For example for a taxi like application you can divide it in the following services : passenger management, billing, notifications, payments, trip management and driver management.
You can learn more about this [here](https://www.nginx.com/blog/introduction-to-microservices/). You can learn more about this [here](https://www.nginx.com/blog/introduction-to-microservices/).
@ -37,18 +36,17 @@ To know more about SQLite you can check the [SQLite page](https://www.sqlite.org
student$ sqlite3 database.db student$ sqlite3 database.db
SQLite version 3.29.0 2019-07-10 17:32:03 SQLite version 3.29.0 2019-07-10 17:32:03
Enter ".help" for usage hints. Enter ".help" for usage hints.
sqlite> CREATE TABLE people (id INTEGER PRIMARY KEY, first_name TEXT, age INTEGER, gender TEXT); sqlite> CREATE TABLE car (id INTEGER PRIMARY KEY, brand TEXT, year INTEGER);
sqlite> INSERT INTO people (first_name, age, gender) VALUES ("John", 23, "m"); sqlite> INSERT INTO car (brand, year) VALUES ("Mercedes", 2010);
sqlite> INSERT INTO people (first_name, age, gender) VALUES ("Jade", 36, "f"); sqlite> INSERT INTO car (brand, year) VALUES ("Volvo", 2018);
sqlite> INSERT INTO people (first_name, age, gender) VALUES ("Kim", 49, "f"); sqlite> INSERT INTO car (brand, year) VALUES ("Nissan", 1999);
sqlite> SELECT * FROM people; sqlite> SELECT * FROM car;
1|John|23|m 1|Mercedes|2010
2|Jade|36|f 2|Volvo|2018
3|Kim|49|f 3|Nissan|1999
sqlite> DELETE FROM people WHERE gender="m"; sqlite> DELETE FROM car WHERE year>2000;
sqlite> SELECT * FROM people; sqlite> SELECT * FROM car;
2|Jade|36|f 3|Nissan|1999
3|Kim|49|f
sqlite> ^C^C^Cstudent$ sqlite> ^C^C^Cstudent$
``` ```
@ -116,7 +114,6 @@ This project will help you learn about:
### Instructions ### Instructions
- You must use **SQLite**. - You must use **SQLite**.
- You must use **SQLite** queries.
- You must use HTML files. - You must use HTML files.
- You must handle website errors, HTTP status. - You must handle website errors, HTTP status.
- You must handle all sort of technical errors. - You must handle all sort of technical errors.

Loading…
Cancel
Save