Skip to content

Commit

Permalink
Switch from in-memory storage to database storage
Browse files Browse the repository at this point in the history
  • Loading branch information
ischepin authored Oct 11, 2024
1 parent 41dda18 commit 22e66ce
Showing 1 changed file with 11 additions and 12 deletions.
23 changes: 11 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,20 @@
## Test Task for Elixir LiveView Developers

The candidate should build a simple polling application using Phoenix LiveView. The application should allow users to create new polls, vote in polls, and see real-time updates of the poll results. The solution should not use any external dependencies, such as a database or disk storage, and should instead store all needed data in application memory. You are free to use any Elixir/Erlang library and any open-source CSS framework for the design.
The candidate should build a simple polling application using Phoenix LiveView. The application should allow users to create new polls, vote in polls, and see real-time updates of the poll results. The solution must use an SQL database as storage to persist users, polls and poll results. You are free to use any Elixir/Erlang library and any open-source CSS framework for the design.

### Requirements

1. All code should be shared via private Github repository.
1. All code should be shared via private Github repository.
2. The solution should be built with Phoenix LiveView.
3. Users should be able to create account by inserting their username.
4. Users should be able to create new polls.
5. Users should be able to vote in existing polls.
6. Users should be able to see real-time updates of the poll results.
7. User can only vote once in a single poll.
8. Performance: users actions should not be blocking each other. User 1 actions should not be blocked by user 2 actions.
9. You are free to use any Elixir/Erlang library and any open-source CSS framework for the UI.
10. The application should not use any external dependencies, such as a database or disk storage. All needed data should be stored in application memory.
11. The application should start with `mix phx.server` so it can be started locally.
12. The application should be well-structured, and the code should be readable.
3. The solution should use database as a persistent storage.
4. Users should be able to create account by inserting their username.
5. Users should be able to create new polls.
6. Users should be able to vote in existing polls.
7. Users should be able to see real-time updates of the poll results.
8. User can only vote once in a single poll.
10. You are free to use any Elixir/Erlang library and any open-source CSS framework for the UI.
12. The application should start with `mix phx.server` so it can be started locally. This includes any kind of set up required for the database.
13. The application should be well-structured, and the code should be readable.

### Deliverables

Expand Down

0 comments on commit 22e66ce

Please sign in to comment.