a tool harnessing memory science to help users transform time management, directing focus to proactive learning over repetitive reviews.
- Background
- Objective
- High-level Architecture
- APIs
- UI/UX Design
- Development Plan
- Testing
- Installation/Usage
- Deployment
We are learning every day. But what we are doing is learn, forget, learn, forget. We have wasted lots of time memorizing the same things repeatedly.
I tried other task (memory) planners before, but the problem is they are either not flexible or hard to get started with:
- Some need you to install an app and register an account.
- some can automatically generate a list, but you cannot insert new task in that list!
So I decided to develop one that is light and more flexible
Build a light tool harnessing memory science to helped users transform time management, directing focus to proactive learning over repetitive reviews.
Don't have any now
-
HTTP Method: GET
-
Purpose: Retrieve all memory instances from the Django database.
-
Request Parameters: None
-
Request Body: None, as this is a GET request.
-
Response:
- Status Code: 200 OK
- Response Body:
[
{
"id": int,
"title": string,
"created_date": datetime in ISO 8601 format (e.g., "2023-08-20T14:41:20.879949-07:00"),
"review_dates": array of dates (can be empty)
},
...
]
-
HTTP Method: POST
-
Purpose: Create a new memory instance in the Django database with the provided title.
-
Request Parameters: None
-
Request Body:
{
"title": "string (Sample Memory Title)"
}
- Response:
- Status Code: 201 Created
- Response Body:
{
"id": 85,
"title": "Sample Memory Title",
"created_date": "2023-09-30T23:26:57.618407-07:00",
"review_dates": [
{
"date": "2023-10-21"
},
{
"date": "2023-10-07"
},
{
"date": "2023-10-14"
},
{
"date": "2023-10-04"
},
...
]
}
- Error Cases:
400 Bad Request
: If the request body is malformed or missing required attributes.500 Internal Server Error
: For general server errors.
-
HTTP Method: POST
-
Purpose: Marks a specific memory instance, identified by its ID, as reviewed in the Django database.
-
URL Parameters:
- memory_id: Integer. The ID of the memory instance to be marked as reviewed.
-
Request Body: None
-
Response:
- Status Code: 200 OK
- Response Body:
{
"message": "Memory marked as reviewed."
}
- Error Cases:
400 Bad Request
: If the request body is malformed or missing required attributes.500 Internal Server Error
: For general server errors.405 Method Not Allowed
: If using GET
Endpoint Example:
http://127.0.0.1:8000/api/mark_as_reviewed/69/
-
As a user, I want to create new memories.
-
As a user, I want to know what memories I want to review today and tomorrow
-
As a user, I want to remove a card (mark as reviewed) when I finish reviewing that card
-
As a user, I want to have a calendar to know what I need to review everyday
-
As a user, I am able to reset curve of a specific memory
-
As a user, if I accidentally review a memory, I can withdraw (no urgent)
-
As a user, I want to know review data of each memory, e.g., memory 1 reviewed 5/8, review rate 62.5%
-
As a user, I want to know how long I spent on each card, default is 0
-
Create a different card that is daily task!
- Add a new memory
- Delete a memory
- Modify a memory
- Search a memory
- Cannot mark a yesterday memory as finished
- Display memory to be reviewed for today and tomorrow using card
- Show memory of everyday using a calendar
- Provide a mark-as-review button to update memory reviewed today
- Automatically calculate reviewed date of a memory when it was added and store these info in the postgreSQL
- Add duplicate memory, alert user
- When a memory is reviewed, click that button, and that card disappeared
- Withdraw the last step (when a memory is accidentally marked as reviewed, withdraw)
- Show a notification bar when a memory is added
- Show a notification bar when a memory is marked as reviewed
- Memory title max length 200
- Store users’ usernames and passwords
- Store users’ personal memory
- Handle multiple user at the same time
- Results are stored in postgreSQL
- TODO
- TODO
- Deploy to aws (check this new repo: https://github.com/xshen053/memory-magician)