-
Notifications
You must be signed in to change notification settings - Fork 121
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Split Step 3.12 about backend development into separate Step 4 section
- Loading branch information
Showing
9 changed files
with
60 additions
and
24 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
3_ecosystem/3_12_web_db/Cargo.toml → 4_backend/4_1_web_db/Cargo.toml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
[package] | ||
name = "step_3_12" | ||
name = "step_4_1" | ||
version = "0.1.0" | ||
edition = "2021" | ||
publish = false |
4 changes: 2 additions & 2 deletions
4
3_ecosystem/3_12_web_db/README.md → 4_backend/4_1_web_db/README.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
[package] | ||
name = "step_4" | ||
version = "0.1.0" | ||
edition = "2021" | ||
publish = false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
Step 4: Backend | ||
=============== | ||
|
||
__Estimated time__: 5 days | ||
|
||
These steps describe common crates and tools in [Rust] ecosystem required for web backend development. | ||
|
||
Before completing this step you should complete all its sub-steps. After doing them you should be able to answer the following questions: | ||
- What should I use for HTTP server implementation in [Rust], when and why? | ||
- How should I interact with databases in [Rust] application and why? How can I organize migrations for my project? | ||
<!-- TODO --> | ||
|
||
|
||
|
||
|
||
## Task | ||
|
||
Write a simple [GraphQL] API server with the following data model: | ||
- `User` has `id` (unique), `name` (unique) and `friends` (list of other `User`s) fields; | ||
- `User` is able to authenticate with its `password`. | ||
|
||
API requirements: | ||
- Ability to register users; | ||
- Ability to authenticate users; | ||
- Ability to retrieve a single user and all its friends (without their friends) (should require authorization); | ||
- Ability to add some user to friends list and remove from there (should require authorization). | ||
|
||
Web frameworks, tools and database choices are up to you. Keep things simple to fit into dedicate time. | ||
|
||
If you have enough time after implementing base requirements, consider to do the following for your solution: | ||
- Provide migration for database schema (if possible); | ||
- Add comprehensive documentation to your code; | ||
- Cover your implementation with unit and E2E tests. | ||
|
||
|
||
|
||
|
||
[GraphQL]: https://graphql.org/learn | ||
[Rust]: https://www.rust-lang.org |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
fn main() { | ||
println!("Implement me!"); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,4 +6,6 @@ members = [ | |
"2_idioms/2_*", | ||
"3_ecosystem", | ||
"3_ecosystem/3_*", | ||
"4_backend", | ||
"4_backend/4_*", | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters