This shows you the differences between two versions of the page.
se:assignment:01 [2022/12/19 00:14] emilian.radoi [Upload] |
se:assignment:01 [2024/10/31 12:55] (current) emilian.radoi |
||
---|---|---|---|
Line 51: | Line 51: | ||
==== Metrics Collection (1p) ==== | ==== Metrics Collection (1p) ==== | ||
- | You should also have tools for collecting various metrics integrated into your app. We do not impose any tool or library, but we want you to motivate in the //Readme.md// file why you chose a certain technology, what metrics are you collecting, why you collect them, and how you plan to use them to take better business decisions for your Trello app 8-). | + | You should also have tools for collecting various metrics integrated into your app (like [[https://posthog.com/|Posthog]]). We do not impose any tool or library, but we want you to motivate in the //Readme.md// file why you chose a certain technology, what metrics are you collecting, why you collect them, and how you plan to use them to take better business decisions for your Trello app 8-). |
==== App Deployment (bonus - 1p) ==== | ==== App Deployment (bonus - 1p) ==== | ||
Line 65: | Line 65: | ||
Some technologies are mandatory and must be included in your tech stack. However, some are just recommendations and you can pick whatever technology you want in the end. So your typical tech stack should look like this: | Some technologies are mandatory and must be included in your tech stack. However, some are just recommendations and you can pick whatever technology you want in the end. So your typical tech stack should look like this: | ||
- | * **Frontend:** React + Next.js - **mandatory** | + | * **Frontend/Backend:** React/Next.js - **mandatory** |
- | * **Backend:** Node.js + Express - **recommended** | + | |
* **Database**: MongoDB - **recommended** | * **Database**: MongoDB - **recommended** | ||
- | We included backend and database technologies in the tech stack because we require your data to be persistent. That means that your boards and tasks should be stored in your database of choice in a meaningful manner and this data should be accessed by your Next.js app through an API (a.k.a. your backend). | + | We included backend and database technologies in the tech stack because we require your data to be persistent. That means that your boards and tasks should be stored in your database of choice in a meaningful manner and this data should be accessed by your Next.js app. |
<note important> | <note important> | ||
- | Your app should also look pleasant, so a **components library** might come in handy in order for you not to mess around with too much CSS. [[https://mui.com/|Material UI]] is our strong recommendation for that. | + | Your app should also look pleasant, so a **components library** might come in handy in order for you not to mess around with too much CSS. [[https://tailwindui.com/|Tailwind]] + [[https://daisyui.com/|DaisyUI]] are our recommendations for that. |
</note> | </note> | ||
- | |||
- | The diagram below depicts a typical architecture for your app: | ||
- | |||
- | {{:se:assignment:se-assignment-diagram-v2.png?600|}} | ||
<note tip> | <note tip> | ||
- | You can use the {{:se:labs:se-lab5-tasks-v2.zip|sample app}} provided in the [[https://ocw.cs.pub.ro/courses/se/labs/05 | Next.js lab]] as a starting point for your frontend project. | + | You can use labs 4 and 5 as a starting point for your project. Also, we highly encourage looking at the [[https://nextjs.org/learn|official Next.js tutorial]] as a reference. |
- | + | ||
- | We will not provide you with a starting point for your backend and database as these 2 components are not imposed. However, you can always Google some boilerplates. | + | |
</note> | </note> | ||
Line 109: | Line 102: | ||
<note important> | <note important> | ||
**UPLOAD:** | **UPLOAD:** | ||
- | * **[[https://curs.upb.ro/2022/mod/assign/view.php?id=108249 | MTI assignment upload]]** | + | * **[[https://curs.upb.ro/2024/mod/assign/view.php?id=51647 | Assignment upload]]** |
- | * **[[https://curs.upb.ro/2022/mod/assign/view.php?id=108253 | SRIC assignment upload]]** | + | |
</note> | </note> | ||
Line 116: | Line 108: | ||
==== Deadline ==== | ==== Deadline ==== | ||
- | The deadline is **hard** and it is on the **19th of December 2022, 23:55** | + | The deadline is **hard** and it is on the **5th of December 2023, 23:55** |