Browse Source

more projects reviews

pull/822/head
MSilva95 3 years ago committed by Christopher Fremond
parent
commit
4a679d3b12
  1. 34
      subjects/forum/README.md
  2. 10
      subjects/forum/advanced-features/README.md
  3. 4
      subjects/forum/advanced-features/audit.md
  4. 24
      subjects/forum/audit/README.md
  5. 14
      subjects/forum/authentication/README.md
  6. 2
      subjects/forum/authentication/audit.md
  7. 18
      subjects/forum/image-upload/README.md
  8. 2
      subjects/forum/image-upload/audit.md
  9. 18
      subjects/forum/moderation/README.md
  10. 14
      subjects/forum/moderation/audit.md
  11. 40
      subjects/forum/security/README.md
  12. 6
      subjects/forum/security/audit.md
  13. 8
      subjects/graphql/README.md
  14. 8
      subjects/graphql/audit/README.md
  15. 5
      subjects/make-your-game/README.md
  16. 30
      subjects/make-your-game/audit/README.md
  17. 4
      subjects/make-your-game/different-maps/README.md
  18. 10
      subjects/make-your-game/different-maps/audit.md
  19. 2
      subjects/make-your-game/history/README.md
  20. 16
      subjects/make-your-game/history/audit.md
  21. 4
      subjects/make-your-game/score-handling/README.md
  22. 20
      subjects/make-your-game/score-handling/audit.md
  23. 32
      subjects/mini-framework/audit/README.md
  24. 10
      subjects/netfix/audit/README.md
  25. 2
      subjects/real-time-forum/README.md
  26. 8
      subjects/real-time-forum/audit/README.md
  27. 4
      subjects/real-time-forum/typing-in-progress/README.md
  28. 6
      subjects/real-time-forum/typing-in-progress/audit.md
  29. 4
      subjects/stock-exchange-sim/README.md
  30. 22
      subjects/stock-exchange-sim/audit/README.md

34
subjects/forum/README.md

@ -13,7 +13,7 @@ This project consists in creating a web forum that allows :
In order to store the data in your forum (like users, posts, comments, etc.) you will use the database library SQLite.
SQLite is a popular choice as embedded database software for local/client storage in application software such as web browsers. It enables you to create a database as well as controlling it by using queries.
SQLite is a popular choice as an embedded database software for local/client storage in application software such as web browsers. It enables you to create a database as well as controlling it by using queries.
To structure your database and to achieve better performance we highly advise you to take a look at the [entity relationship diagram](https://www.smartdraw.com/entity-relationship-diagram/) and build one based on your own database.
@ -67,7 +67,22 @@ Note that the last two are only available for registered users and must refer to
#### Docker
For the forum project you must use Docker. You can see all about docker basics on the [ascii-art-web-dockerize](https://public.01-edu.org/subjects/ascii-art-web/dockerize/) subject.
For the forum project you must use Docker. You can see all about docker basics on the [ascii-art-web-dockerize](../ascii-art-web/dockerize/README.md) subject.
### Instructions
- You must use **SQLite**.
- You must handle website errors, HTTP status.
- You must handle all sort of technical errors.
- The code must respect the [**good practices**](../good-practices/README.md).
- It is recommended that the code should present a **test file**.
### Allowed packages
- All [standard Go](https://golang.org/pkg/) packages are allowed.
- [sqlite3](https://github.com/mattn/go-sqlite3)
- [bcrypt](https://pkg.go.dev/golang.org/x/crypto/bcrypt)
- [UUID](https://github.com/satori/go.uuid)
This project will help you learn about:
@ -82,18 +97,3 @@ This project will help you learn about:
- SQL language
- Manipulation of databases
- The basics of encryption
### Instructions
- You must use **SQLite**.
- You must handle website errors, HTTP status.
- You must handle all sort of technical errors.
- The code must respect the [**good practices**](https://public.01-edu.org/subjects/good-practices/).
- It is recommended that the code should present a **test file**.
### Allowed packages
- All [standard go](https://golang.org/pkg/) packages are allowed.
- github.com/mattn/go-sqlite3
- golang.org/x/crypto/bcrypt
- github.com/satori/go.uuid

10
subjects/forum/advanced-features/README.md

@ -2,7 +2,7 @@
### Objectives
You must follow the same [principles](https://public.01-edu.org/subjects/forum/) as the first subject.
You must follow the same [principles](../README.md) as the first subject.
In `forum advanced features`, you will have to implement the following features :
@ -21,14 +21,10 @@ In `forum advanced features`, you will have to implement the following features
We encourage you to add any other additional features that you find relevant.
This project will help you learn about :
- Data manipulation and storage
### Instructions
- The backend must be written in **Go**
- The code must respect the [good practices](https://public.01-edu.org/subjects/good-practices/)
- The code must respect the [good practices](../../good-practices/README.md)
- It is recommended that the code should present a **test file**
### Allowed packages
@ -36,4 +32,4 @@ This project will help you learn about :
- All [standard go](https://golang.org/pkg/) packages are allowed.
- github.com/mattn/go-sqlite3
- golang.org/x/crypto/bcrypt
- github.com/satori/go.uuid
- github.com/satori/go.uuid

4
subjects/forum/advanced-features/audit.md

@ -40,13 +40,13 @@
#### General
##### +Are there any other feature not mentioned in the [subject](https://public.01-edu.org/subjects/forum/advanced-features/)?
##### +Are there any other feature not mentioned in the [subject](README.md)?
#### Basic
###### +Does the project runs quickly and effectively (Favoring of recursion, no unnecessary data requests, etc.)?
###### +Does the code obey the [good practices](https://public.01-edu.org/subjects/good-practices/)?
###### +Does the code obey the [good practices](../../good-practices/README.md)?
###### +Is there a test file for this code?

24
subjects/forum/audit/README.md

@ -80,21 +80,21 @@ cc8f5dcf760f <name of the image> "./server" 6 seconds ag
#### Functional
##### Enter the forum as a non-registered user.
##### Enter the forum as a non-registered user and try to create a post.
###### Are you prohibited to create a post?
###### Are you forbidden to create a post?
##### Enter the forum as a non-registered user.
##### Enter the forum as a non-registered user and try to create a comment.
###### Are you prohibited to create a comment?
###### Are you forbidden to create a comment?
##### Enter the forum as a non-registered user and try to like a comment.
###### Are you prohibited to like a post?
###### Are you forbidden to like a post?
##### Enter the forum as a non-registered user and try to dislike a comment.
###### Are you prohibited to dislike a comment?
###### Are you forbidden to dislike a comment?
##### Enter the forum as a registered user, go to a post and try to create a comment for it.
@ -102,7 +102,7 @@ cc8f5dcf760f <name of the image> "./server" 6 seconds ag
##### Enter the forum as a registered user, go to a post and try to create an empty comment for it.
###### Were you prohibited to create the comment?
###### Were you forbidden to create the empty comment?
##### Enter the forum as a registered user and try to create a post.
@ -110,7 +110,7 @@ cc8f5dcf760f <name of the image> "./server" 6 seconds ag
##### Enter the forum as a registered user and try to create an empty post.
###### Were you prohibited to create the post?
###### Were you forbidden to create the empty post?
##### Try creating a post as a registered user and try to choose several categories for that post.
@ -128,7 +128,7 @@ cc8f5dcf760f <name of the image> "./server" 6 seconds ag
###### Can you like or dislike the comment?
##### Enter the forum as a registered user, try liking and disliking a post and then refresh the page.
##### Enter the forum as a registered user, try liking or disliking a post and then refresh the page.
###### Does the number of likes/dislikes change?
@ -158,9 +158,9 @@ cc8f5dcf760f <name of the image> "./server" 6 seconds ag
###### Are all the pages working? (Absence of 404 page?)
###### Does the project handle [HTTP status 400 - Bad Requests](https://kinsta.com/knowledgebase/400-bad-request/#causes)?
###### Does the project handle [HTTP status 400 - Bad Requests](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400)?
###### Does the project handle [HTTP status 500 - Internal Server Errors](https://www.restapitutorial.com/httpstatuscodes.html)?
###### Does the project handle [HTTP status 500 - Internal Server Errors](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500)?
###### Are only the allowed packages being used?
@ -174,7 +174,7 @@ cc8f5dcf760f <name of the image> "./server" 6 seconds ag
###### +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/)?
###### +Does the code obey the [good practices](../../good-practices/README.md)?
###### +Is there a test file for this code?

14
subjects/forum/authentication/README.md

@ -10,20 +10,20 @@ Some examples of authentication means are:
- GitHub
- Google
This project will help you learn about:
- Sessions and cookies.
- Protecting routes.
### Instructions
- Your project must have implemented at least the two authentication examples given.
- Your project must be written in **Go**.
- The code must respect the [**good practices**](https://public.01-edu.org/subjects/good-practices/).
- The code must respect the [**good practices**](../../good-practices/README.md).
### Allowed packages
- All [standard go](https://golang.org/pkg/) packages are allowed.
- github.com/mattn/go-sqlite3
- golang.org/x/crypto/bcrypt
- github.com/satori/go.uuid
- github.com/satori/go.uuid
This project will help you learn about:
- Sessions and cookies.
- Protecting routes.

2
subjects/forum/authentication/audit.md

@ -36,7 +36,7 @@
###### +Does the project run quickly and effectively (favoring of recursion, no unnecessary data requests, etc.)?
###### +Does the code obey the [good practices](https://public.01-edu.org/subjects/good-practices/)?
###### +Does the code obey the [good practices](../../good-practices/README.md)?
#### Social

18
subjects/forum/image-upload/README.md

@ -2,21 +2,16 @@
### Objectives
You must follow the same [principles](https://public.01-edu.org/subjects/forum/) as the first subject.
You must follow the same [principles](../README.md) as the first subject.
In `forum image upload`, registered users have the possibility to create a post containing an image as well as text.
- When viewing the post, users and guests should see the image associated to it.
There are various extensions for images like: JPEG, SVG, PNG, GIF, etc. In this project you have to handle at least JPEG, PNG and GIF types.
There are several extensions for images like: JPEG, SVG, PNG, GIF, etc. In this project you have to handle at least JPEG, PNG and GIF types.
The max size of the images to load should be 20 mb. If there is an attempt to load an image greater than 20mb, an error message should inform the user that the image is too big.
This project will help you learn about:
- Image manipulation
- Image types
### Hints
- Be cautious with the size of the images.
@ -25,7 +20,7 @@ This project will help you learn about:
- The backend must be written in **Go**.
- You must handle website errors.
- The code must respect the [good practices](https://public.01-edu.org/subjects/good-practices/)
- The code must respect the [good practices](../../good-practices/README.md)
- It is recommended that the code should present a **test file**.
### Allowed packages
@ -33,4 +28,9 @@ This project will help you learn about:
- All [standard go](https://golang.org/pkg/) packages are allowed.
- github.com/mattn/go-sqlite3
- golang.org/x/crypto/bcrypt
- github.com/satori/go.uuid
- github.com/satori/go.uuid
This project will help you learn about:
- Image manipulation
- Image types

2
subjects/forum/image-upload/audit.md

@ -28,7 +28,7 @@
#### Basic
###### +Does the code obey the [good practices](https://public.01-edu.org/subjects/good-practices/)?
###### +Does the code obey the [good practices](../../good-practices/README.md)?
###### +Are the instructions in the website clear?

18
subjects/forum/moderation/README.md

@ -2,9 +2,9 @@
### Objectives
You must follow the same [principles](https://public.01-edu.org/subjects/forum/) as the first subject.
You must follow the same [principles](../README.md) as the first subject.
The `forum-moderation` will be based on a moderation system. It must present a moderator that, depending on the access level of a user or the forum set-up, approves posted messages before they become publicly visible.
The `forum moderation` will be based on a moderation system. It must present a moderator that, depending on the access level of a user or the forum set-up, approves posted messages before they become publicly visible.
- The filtering can be done depending on the categories of the post being sorted by irrelevant, obscene, illegal or insulting.
@ -32,18 +32,13 @@ You should implement at least 4 types of users :
- Promote or demote a normal user to, or from a moderator user.
- Receive reports from moderators. If the admin receives a report from a moderator, he can respond to that report
- Delete posts and comments
- Manage the categories, by being able to creating and deleting them.
This project will help you learn about :
- Moderation System
- User access levels
- Manage the categories, by being able to create and delete them.
### Instructions
- You must handle website errors, HTTPS status.
- You must handle all sort of technical errors.
- The code must respect the [**good practices**](https://public.01-edu.org/subjects/good-practices/).
- The code must respect the [**good practices**](../../good-practices/README.md).
- It is recommended that the code should present a **test file**.
### Allowed packages
@ -52,3 +47,8 @@ This project will help you learn about :
- github.com/mattn/go-sqlite3
- golang.org/x/crypto/bcrypt
- github.com/satori/go.uuid
This project will help you learn about:
- Moderation System
- User access levels

14
subjects/forum/moderation/audit.md

@ -20,13 +20,13 @@
##### Try accepting a moderator using the admin user.
###### Has the moderator been promoted?
###### Was the user promoted to moderator?
##### Try using the moderator to delete a obscene post
##### Try using the moderator to delete an obscene post.
###### Can you confirm that it is possible?
###### Can you confirm that it is possible to delete the post?
##### Try using the moderator to report a illegal post
##### Try using the moderator to report a illegal post.
###### Did the admin user receive the report?
@ -44,6 +44,12 @@
###### +Does the project present more then 4 types of users?
#### Basic
###### +Does the code obey the [good practices](../../good-practices/README.md)?
###### +Are the instructions in the website clear?
#### Social
###### +Did you learn anything from this project?

40
subjects/forum/security/README.md

@ -2,11 +2,11 @@
### Objectives
You must follow the same [principles](https://public.01-edu.org/subjects/forum/forum.en) as the first subject.
You must follow the same [principles](../README.md) as the first subject.
For this project you must take into account the security of your forum.
- You should implement a Hypertext Transfer Protocol Secure ([HTTPS](https://www.globalsign.com/en/blog/the-difference-between-http-and-https)) protocol :
- You should implement a Hypertext Transfer Protocol Secure ([HTTPS](https://developer.mozilla.org/pt-BR/docs/Glossary/https)) protocol :
- Encrypted connection : for this you will have to generate an SSL certificate, you can think of this like a identity card for your website. You can create your certificates or use "Certificate Authorities"(CA's)
@ -18,18 +18,6 @@ For this project you must take into account the security of your forum.
- Clients passwords
- Database, for this you will have to create a password for your database.
This project will help you learn about :
- HTTPS
- [Cipher suites](https://www.iana.org/assignments/tls-parameters/tls-parameters.xml)
- Goroutines
- Channels
- Rate Limiting
- Encryption
- password
- session/cookies
- Universal Unique Identifier (UUID)
### Hints
- You can take a look at the `openssl` manual.
@ -39,13 +27,25 @@ This project will help you learn about :
- You must handle website errors, HTTPS status.
- You must handle all sort of technical errors.
- The code must respect the [**good practices**](https://public.01-edu.org/subjects/good-practices.en).
- The code must respect the [**good practices**](../../good-practices/README.md).
- It is recommended that the code should present a **test file**.
### Allowed packages
- All [standard go](https://golang.org/pkg/) packages are allowed.
- golang.org/x/crypto/bcrypt
- github.com/satori/go.uuid
- github.com/mattn/go-sqlite3
- golang.org/x/crypto/acme/autocert
- All [standard Go](https://golang.org/pkg/) packages are allowed.
- [sqlite3](https://github.com/mattn/go-sqlite3)
- [bcrypt](https://pkg.go.dev/golang.org/x/crypto/bcrypt)
- [UUID](https://github.com/satori/go.uuid)
- [autocert](https://pkg.go.dev/golang.org/x/crypto/acme/autocert)
This project will help you learn about :
- HTTPS
- [Cipher suites](https://en.wikipedia.org/wiki/Cipher_suite)
- Goroutines
- Channels
- Rate Limiting
- Encryption
- password
- session/cookies
- Universal Unique Identifier (UUID)

6
subjects/forum/security/audit.md

@ -4,7 +4,7 @@
###### Does the URL contain HTTPS?
###### Is the project implementing [cipher suites](https://www.iana.org/assignments/tls-parameters/tls-parameters.xml)?
###### Is the project implementing [cipher suites](https://en.wikipedia.org/wiki/Cipher_suite)?
###### Is the Go TLS structure well configured?
@ -24,7 +24,7 @@
###### Does the session cookie present a UUID(Universal Unique Identifier)?
###### Does the project present a way to configure the certificates information, either via .env or config files or another method?
###### Does the project present a way to configure the certificates information, either via .env, config files or another method?
###### Are only the allowed packages being used?
@ -40,7 +40,7 @@
###### +Does the project runs quickly and effectively? (no unnecessary data requests, etc)
###### +Does the code obey the [good practices](https://public.01-edu.org/subjects/good-practices/)?
###### +Does the code obey the [good practices](../../good-practices/README.md)?
###### +Is there a test file for this code?

8
subjects/graphql/README.md

@ -21,7 +21,7 @@ Beside those sections it will have a mandatory section for the generation of sta
You will have to create a profile UI where you can see your own school information. This information/data is present on the graphQL endpoint, where you will have to query it.
For the UI it will be up to you to design it. But have in mind the principles of a [good UI](https://public.01-edu.org/subjects/good-practices/).\
For the UI it will be up to you to design it. But have in mind the principles of a [good UI](../good-practices/README.md).\
The UI will have a statistic section where you can generate graphs to see more about your journey and achievements on the school. This graphs must be done using [SVG](https://developer.mozilla.org/en-US/docs/Web/SVG). You will have to do at least **two different statistic graphs** for the data given.
Using SVG you can create several [types of graphs](https://www.tutorialspoint.com/svg/graph.htm) including interactive graphs and animated graph. It will be up to you to decide what type of graphs you are going to do.
@ -114,8 +114,8 @@ Lets take for instance the table `user` and try to query it:
}
```
This simple query will return an array with the `id`s of the users. Imagine if you wanted the `login`,\
you could just add this attribute to the query, example:
This simple query will return an array with the ids of the users. Imagine if you wanted the `login`,
you could just add this attribute to the query like so:
```js
{
@ -145,7 +145,7 @@ Here is another example of a query using the table `user`:
}
```
**Note** that for this query is required the introduction of variables (arguments)\
**Note** that for this query is required the introduction of variables (arguments),
so it will return just one user, the user that has the `id` equal to `6`.
You can see the result using `curl`:

8
subjects/graphql/audit/README.md

@ -30,6 +30,12 @@
###### +Did the student generated their own GraphiQL?
###### +Does the UI respect the [good practicies](https://public.01-edu.org/subjects/good-practices/)?
###### +Does the UI respect the [good practices](../../good-practices/README.md)?
###### +Do you think in general this project is well done?
#### Social
###### +Did you learn anything from this project?
###### +Would you recommend/nominate this program as an example for the rest of the school?

5
subjects/make-your-game/README.md

@ -17,8 +17,7 @@ Here are some of the features you want to implement on your game:
- Run the game at least at **60fps** at all time
- You must not have frame drops!
- Proper use of **RequestAnimationFrame**
- It is very hard to predict performances in JS. So measure performances,
to know if your code is fast. This will be tested
- It is very hard to predict performances in JS. So measure performances to see if your code is fast. This will be tested!
- Pause menu, that includes:
- Continue
- Restart
@ -31,7 +30,7 @@ You must not use frameworks or canvas, the game must be implemented using just p
### Instructions
Animation must have consistent motion, so in order to have a smooth animation (without interruptions or better named: jank animation) you must achieve a special number, [**60fps**](https://blog.algolia.com/performant-web-animations/). You can see more about performance [here](https://public.01-edu.org/subjects/good-practices/)
Animation must have consistent motion, so in order to have a smooth animation (without interruptions or better named: jank animation) you must achieve a special number, [**60fps**](https://blog.algolia.com/performant-web-animations/). You can see more about performance [here](../good-practices/README.md)
In order to play the game you must use only the keyboard. The usage of keyboard must be smooth, in other words you must not spam the key to move the player. But instead you must, for example maintain the key pressed and the player must continue to do the proper action. If the key is released the player should stop doing the action.

30
subjects/make-your-game/audit/README.md

@ -14,59 +14,59 @@
###### Is the game chosen from the pre-approved list?
##### Try pausing the game while it is running
##### Try pausing the game while it is running.
###### Does the game display the pause menu, with the options: continue and restart?
##### Try pausing the game while it is running and choose the continue option
##### Try pausing the game while it is running and choose the continue option.
###### Does the game continue?
##### Try pausing the game while it is running and choose the restart option
##### Try pausing the game while it is running and choose the restart option.
###### Does the game restart?
##### Use the Dev Tool/Performance to record and try pausing the game while it is running
##### Use the Dev Tool/Performance to record and try pausing the game while it is running.
###### Does the game present any frame drops?
##### Try moving the player/element using the proper commands and keys to do so
##### Try moving the player/element using the proper commands and keys to do so.
###### Does the player obey the commands?
##### Try moving the player/element using the proper commands and keys to do so
##### Try moving the player/element using the proper commands and keys to do so.
###### Does the player move without spamming the key to do so?
##### Try playing the game
##### Try playing the game.
###### Does the game work like it should (as one of the games from the pre-approved list)?
##### Try playing the game
##### Try playing the game.
###### Does the countdown/timer clock seem to be working?
##### Try playing the game and score some points
##### Try playing the game and score some points.
###### Does the score seems to work like it should, by increasing at a certain action done by the player?
##### Try playing the game and try losing a life
##### Try playing the game and try losing a life.
###### Does the player lives seem to work like it should, by decreasing the numbers of lives of the player?
##### Try using the Dev Tool/Performance
##### Try using the Dev Tool/Performance.
###### Does it not present frame drop?
##### Try using the Dev Tool/Performance
##### Try using the Dev Tool/Performance.
###### Does the game run at or around 60fps?
##### Try using the Dev Tool/performance and the option rendering with the paint ON, if possible
##### Try using the Dev Tool/performance and the option rendering with the paint ON, if possible.
###### Is the paint being used as less as possible?
##### Try using the Dev Tool/performance and the option rendering with the layer ON, if possible
##### Try using the Dev Tool/performance and the option rendering with the layer ON, if possible.
###### Is the layers being used as less as possible?
@ -76,7 +76,7 @@
###### +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/README.md)?
###### +Does the code obey the [good practices](../../good-practices/README.md)?
###### +Does the program reuses memory to avoid jank?

4
subjects/make-your-game/different-maps/README.md

@ -2,7 +2,7 @@
### Objectives
You must follow the same [principles](https://public.01-edu.org/subjects/make-your-game/README.md) as the first subject.
You must follow the same [principles](../README.md) as the first subject.
For this project you must create:
@ -49,7 +49,7 @@ This will generate a map object that contains:
- `tiles` that is an array with the grid logic
- `getTile` function to get the tale position
**Note that this is an example! you can add properties that better suit your game**
**Note that this is an example! You can add properties that better suit your game**
This project will help you learn about:

10
subjects/make-your-game/different-maps/audit.md

@ -10,13 +10,13 @@
###### Does the game generate different tile maps, not making use of tile editors?
##### Try playing the game in 3 different maps
##### Try playing the game in 3 different maps.
###### Were you able to play the game with no inconvenience?
###### Does the game avoid the use of `canvas`?
##### Check the tile map in the code and the map on the game
##### Check the tile map in the code and the map on the game.
###### Does the tile map in the code matches with the displayed map?
@ -30,11 +30,11 @@
###### Does the game run at or around 60fps
##### Try using the Dev Tool/performance and the option rendering with the paint ON, if possible
##### Try using the Dev Tool/performance and the option rendering with the paint ON, if possible.
###### Is the paint being used as less as possible?
##### Try using the Dev Tool/performance and the option rendering with the layer ON, if possible
##### Try using the Dev Tool/performance and the option rendering with the layer ON, if possible.
###### Is the layers being used as less as possible?
@ -44,7 +44,7 @@
###### +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/README.md)?
###### +Does the code obey the [good practices](../../good-practices/README.md)?
###### +Is the code using synchronicity to increase performance?

2
subjects/make-your-game/history/README.md

@ -2,7 +2,7 @@
### Objectives
You must follow the same [principles](https://public.01-edu.org/subjects/make-your-game/README.md) as the first subject.
You must follow the same [principles](../README.md) as the first subject.
For this project you must take into account the creation of a **story mode**, a version of a computer game in which the player controls a character in a story.

16
subjects/make-your-game/history/audit.md

@ -4,27 +4,27 @@
###### Is an introduction of the story provided in the beginning of the game?
##### Try playing the game and reach the specific score to appear the development part of the story
##### Try playing the game and reach the specific score to appear the development part of the story.
###### Does the development part of the story appear when you reach the specific score?
##### Try finishing the game (either win or lose)
##### Try finishing the game (either win or lose).
###### Is a conclusion of the story provided when the game ends?
##### Try using the Dev Tool/Performance
##### Try using the Dev Tool/Performance.
###### Does it not present frame drop?
##### Try using the Dev Tool/Performance
##### Try using the Dev Tool/Performance.
###### Does the game run at or around 60fps
###### Does the game run at/or around 60fps?
##### Try using the Dev Tool/performance and the option rendering with the paint ON, if possible
##### Try using the Dev Tool/performance and the option rendering with the paint ON, if possible.
###### Is the paint being used as less as possible?
##### Try using the Dev Tool/performance and the option rendering with the layer ON, if possible
##### Try using the Dev Tool/performance and the option rendering with the layer ON, if possible.
###### Is the layers being used as less as possible?
@ -38,7 +38,7 @@
###### +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/README.md)?
###### +Does the code obey the [good practices](../../good-practices/README.md)?
###### +Is the code using synchronicity to increase performance?

4
subjects/make-your-game/score-handling/README.md

@ -2,7 +2,7 @@
### Objectives
You must follow the same [principles](https://public.01-edu.org/subjects/make-your-game/README.md) as the first subject.
You must follow the same [principles](../README.md) as the first subject.
For this project you must take into account:
@ -63,7 +63,7 @@ Here is an example:
### Allowed Packages
- Only the [standard go](https://golang.org/pkg/) packages are allowed
- Only the [standard Go](https://golang.org/pkg/) packages are allowed
- [Gorilla](https://pkg.go.dev/github.com/gorilla/websocket) websocket
This project will help you learn about:

20
subjects/make-your-game/score-handling/audit.md

@ -1,20 +1,20 @@
#### Functional
###### Has the requirement for the allowed packages been respected?
###### Has the requirement for the allowed packages been respected? (Reminder for this project: only [standard packages](https://golang.org/pkg/))
##### Play and finish the game
##### Play and finish the game.
###### Does it asks for a name?
##### Play and finish the game
##### Play and finish the game.
###### Does the scoreboard appear?
##### Try making a GET request to the GO server API
##### Try making a GET request to the GO server API.
###### Does the request present the right information?
##### Try making a POST request to the GO server API, then make a GET request to see if the information posted is correct
##### Try making a POST request to the GO server API, then make a GET request to see if the information posted is correct.
###### Is the information correct?
@ -24,27 +24,27 @@
###### Does the scoreboard have pagination?
##### Try to see the next page
##### Try to see the next page.
###### Does it display the next page of scores correctly?
##### Play and finish the game, then search for your name
##### Play and finish the game, then search for your name.
###### Does the scoreboard present your name and all the right information?
##### Try using the Dev Tool/Performance
##### Try using the Dev Tool/Performance.
###### Does it not present frame drop?
##### Try using the Dev Tool/Performance
###### Does the game run at or around 60fps
###### Does the game run at/or around 60fps?
#### Bonus
###### +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/README.md)?
###### +Does the code obey the [good practices](../../good-practices/README.md)?
###### +Is the code using synchronicity to increase performance?

32
subjects/mini-framework/audit/README.md

@ -18,31 +18,35 @@
###### Does it correctly correspond to those in the examples?
###### Can you add a todo element to the todo list?
###### Can you add a to-do element to the to-do list?
###### When you add a todo element to the list, does the footer (element with class footer) appear as in other examples?
###### When you add a to-do element to the list, does the footer (element with class footer) appear as in other examples?
###### Can you check/uncheck a todo element on the list?
###### Can you check/uncheck a to-do element on the list?
###### Can you remove a todo element off the list?
###### Can you remove a to-do element off the list?
##### Add at least 2 todos and select only one of them.
##### Add at least 2 to-dos and select only one of them.
###### If you click on the **Active** button, does it appear only the unchecked todos?
###### If you click on the **Active** button, does it appear only the unchecked to-dos?
###### And if you click on the **Completed** button, does it appear only the checked todos?
###### And if you click on the **Completed** button, does it appear only the checked to-dos?
###### Does it appear a **Clear Completed** button todos?
###### Does it appear a **Clear Completed** button to-dos?
###### When clicking on the clear completed button, does it remove only the checked todos?
###### When clicking on the clear completed button, does it remove only the checked to-dos?
###### When clicking on the **Active** and **Completed** buttons, does the URL change?
##### Add 3 todos to the list and check each one, keeping an eye on the counter of todos left to do.
##### Add 3 to-dos to the list and check each one, keeping an eye on the counter of to-dos left to do.
###### Does the counter change accordingly to your actions?
###### If you double click a todo element on the list can you edit that element?
###### If you double click a to-do element on the list can you edit that element?
#### Basic
###### +Does the code obey the [good practices](../../good-practices/README.md)?
#### Bonus
@ -57,3 +61,9 @@
###### +Is the code using synchronicity to increase performance?
###### +Do you think in general this project is well done?
#### Social
###### +Did you learn anything from this project?
###### +Would you recommend/nominate this program as an example for the rest of the school?

10
subjects/netfix/audit/README.md

@ -62,6 +62,10 @@
###### Is the list of most requested services updated with this new service?
#### Basic
###### +Does the code obey the [good practices](../../good-practices/README.md)?
### Bonus
###### +Is a system implemented where Customers can rate the services they have requested?
@ -71,3 +75,9 @@
###### +Are there any other bonuses implemented?
###### +Did the student implement its own display and design?
#### Social
###### +Did you learn anything from this project?
###### +Would you recommend/nominate this program as an example for the rest of the school?

2
subjects/real-time-forum/README.md

@ -13,7 +13,7 @@ On this project you will have to focus on a few points:
As you already did the first forum you can use part of the code, but not all of it. Your new forum will have five different parts:
- **SQLite**, in which you will store data, just like in the [previous forum](https://public.01-edu.org/subjects/forum/#communication)
- **SQLite**, in which you will store data, just like in the [previous forum](../forum/README.md#Communication)
- **Golang**, in which you will handle data and Websockets (Backend)
- **Javascript**, in which you will handle all the Frontend events and clients Websockets
- **HTML**, in which you will organize the elements of the page

8
subjects/real-time-forum/audit/README.md

@ -1,10 +1,10 @@
#### Functional
###### Has the requirement for the allowed packages been respected?
###### Has the requirement for the allowed packages been respected? (Reminder for this project: only [standard packages](https://golang.org/pkg/))
###### Do you need to register/login in the forum to use it?
##### Try registering as a new user
##### Try registering as a new user.
###### Does the site asks for a nickname, age, gender, first and last name, email and password?
@ -76,12 +76,12 @@
###### +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/README.md)?
###### +Does the code obey the [good practices](../../good-practices/README.md)?
###### +Does the users have profiles?
###### +Can the users send images through the private messages?
###### +Is the code using synchronicity (Promises and goroutines/channels) to increase performance?
###### +Is the code using synchronicity (Promises and Go routines/channels) to increase performance?
###### +Do you think in general this project is well done?

4
subjects/real-time-forum/typing-in-progress/README.md

@ -2,11 +2,11 @@
### Objectives
You must follow the same [principles](https://public.01-edu.org/subjects/real-time-forum/README.md) as the first subject.
You must follow the same [principles](../README.md) as the first subject.
For this project you must create:
- A [Typing in progress](https://i.insider.com/56996788dd0895a06c8b460c?width=1100&format=jpeg&auto=webp) engine
- A [Typing in progress](https://i.insider.com/56996788dd0895a06c8b460c?width=1100&format=jpeg&auto=webp) engine.
### Instructions

6
subjects/real-time-forum/typing-in-progress/audit.md

@ -1,6 +1,6 @@
#### Functional
###### Has the requirement for the allowed packages been respected?
###### Has the requirement for the allowed packages been respected? (Reminder for this project: only [standard packages](https://golang.org/pkg/))
##### Open two browsers (ex: Chrome and Firefox or private windows) and log in with different users in each one. With one user start typing.
@ -30,8 +30,8 @@
###### +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/README.md)?
###### +Does the code obey the [good practices](../../good-practices/README.md)?
###### +Is the code using synchronicity (Promises and goroutines/channels) to increase performance?
###### +Is the code using synchronicity (Promises and Go routines/channels) to increase performance?
###### +Do you think in general this project is well done?

4
subjects/stock-exchange-sim/README.md

@ -205,7 +205,7 @@ $
---
Running the stock exchange program with error, you can see the correct file [here](https://public.01-edu.org/subjects/stock-exchange-sim/examples/simple/simple)
Running the stock exchange program with error, you can see the correct file [here](examples/simple/simple)
```console
$ cat examples/simple
@ -219,7 +219,7 @@ Error while parsing `:(euro:8):(material:1):10`
$
```
Running the checker program with error, you can see the correct file [here](https://public.01-edu.org/subjects/stock-exchange-sim/examples/simple/simple.log)
Running the checker program with error, you can see the correct file [here](examples/simple/simple.log)
```console
$ cat examples/simple.log

22
subjects/stock-exchange-sim/audit/README.md

@ -24,7 +24,7 @@
###### Can that log file be used by the checker program?
##### Try to run the stock exchange program with the [simple](https://public.01-edu.org/subjects/stock-exchange-sim/examples/simple/simple) example, `"./stock examples/simple/simple 1"`.
##### Try to run the stock exchange program with the [simple](../examples/simple/simple) example, `"./stock examples/simple/simple 1"`.
```console
$ go run . examples/simple/simple 1
@ -43,7 +43,7 @@ $
###### Does the display presents a result similar to the one above (optimizing time;client_content)?
##### Try to run the stock exchange program with the [build](https://public.01-edu.org/subjects/stock-exchange-sim/examples/build/build) example, `"./stock examples/build/build 10"`.
##### Try to run the stock exchange program with the [build](../examples/build/build) example, `"./stock examples/build/build 10"`.
```console
$ go run . examples/build/build 10
@ -67,7 +67,7 @@ $
###### Does the display presents a result similar to the one above (optimizing time;cabinet)?
##### Try to run the stock exchange program with the [seller](https://public.01-edu.org/subjects/stock-exchange-sim/examples/seller/seller) example, `"./stock examples/seller/seller 10"`.
##### Try to run the stock exchange program with the [seller](../examples/seller/seller) example, `"./stock examples/seller/seller 10"`.
```console
$ go run . examples/seller/seller 10
@ -100,7 +100,7 @@ $
###### Does the display presents a result similar to the one above (optimizing euro)?
##### Try to run the stock exchange program with the [fertilizer](https://public.01-edu.org/subjects/stock-exchange-sim/examples/fertilizer/fertilizer) example, `"./stock examples/fertilizer/fertilizer 1"`.(fertilizer example is self-powered and rotates indefinitely)
##### Try to run the stock exchange program with the [fertilizer](../examples/fertilizer/fertilizer) example, `"./stock examples/fertilizer/fertilizer 1"`.(fertilizer example is self-powered and rotates indefinitely)
```console
$ go run . examples/fertilizer/fertilizer 1
@ -130,7 +130,7 @@ $
###### Does the display presents a result with a significantly shorter number of cycles comparing to the previous question output?
##### Try to run the stock exchange program with the [error1](https://public.01-edu.org/subjects/stock-exchange-sim/examples/errors/error1) example, `"./stock examples/errors/error1 1"`.
##### Try to run the stock exchange program with the [error1](../examples/errors/error1) example, `"./stock examples/errors/error1 1"`.
```console
$ go run . examples/errors/error1 1
@ -141,7 +141,7 @@ $
###### Does the display presents a result similar to the one above, where it shows the error?
##### Try to run the stock exchange program with the [error2](https://public.01-edu.org/subjects/stock-exchange-sim/examples/errors/error2) example, `"./stock examples/errors/error2 1"`.
##### Try to run the stock exchange program with the [error2](../examples/errors/error2) example, `"./stock examples/errors/error2 1"`.
```console
$ go run . examples/errors/error2 1
@ -152,7 +152,7 @@ $
###### Does the display presents a result similar to the one above, where it shows the error?
##### Try to run the stock exchange program with the [error3](https://public.01-edu.org/subjects/stock-exchange-sim/examples/errors/error3) example, `"./stock examples/errors/error3 1"`.
##### Try to run the stock exchange program with the [error3](../examples/errors/error3) example, `"./stock examples/errors/error3 1"`.
```console
$ go run . examples/errors/error3 1
@ -163,7 +163,7 @@ $
###### Does the display presents a result similar to the one above, where it shows the error?
##### Try to run the checker program with the [build](https://public.01-edu.org/subjects/stock-exchange-sim/examples/build/build) and the [build.log](https://public.01-edu.org/subjects/stock-exchange-sim/examples/build/build.log) example, `"./checker examples/build/build examples/build/build.log"`.
##### Try to run the checker program with the [build](../examples/build/build) and the [build.log](../examples/build/build.log) example, `"./checker examples/build/build examples/build/build.log"`.
```console
$ go run ./checker examples/build/build examples/build/build.log
@ -180,7 +180,7 @@ $
###### Does the display presents a result similar to the one above, where it shows the last cycle and the proof that the sequence is correct?
##### Try to run the checker program with the [seller](https://public.01-edu.org/subjects/stock-exchange-sim/examples/seller/seller) and the [seller.log](https://public.01-edu.org/subjects/stock-exchange-sim/examples/seller/seller.log)example, `"./checker examples/seller/seller examples/seller/seller.log"`.
##### Try to run the checker program with the [seller](../examples/seller/seller) and the [seller.log](../examples/seller/seller.log)example, `"./checker examples/seller/seller examples/seller/seller.log"`.
```console
$ go run ./checker examples/seller/seller examples/seller/seller.log
@ -206,7 +206,7 @@ $
###### Does the display presents a result similar to the one above, where it shows the last cycle and the proof that the sequence is correct?
##### Try to run the checker program with the [testchecker](https://public.01-edu.org/subjects/stock-exchange-sim/examples/checkererror/testchecker) and [testchecker.log](https://public.01-edu.org/subjects/stock-exchange-sim/examples/checkererror/testchecker.log) example, `"./checker examples/checkererror/testchecker examples/checkererror/testchecker.log"`.
##### Try to run the checker program with the [testchecker](../examples/checkererror/testchecker) and [testchecker.log](../examples/checkererror/testchecker.log) example, `"./checker examples/checkererror/testchecker examples/checkererror/testchecker.log"`.
```console
$ go run ./checker examples/checkererror/testchecker examples/checkererror/testchecker.log
@ -228,6 +228,6 @@ $
###### +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/README.md)?
###### +Does the code obey the [good practices](../../good-practices/README.md)?
###### +Create your own file and run the stock exchange program with it. Does the program work like it should?

Loading…
Cancel
Save