Ergon (greek for 'work') is an all-in-one productivity web app that allows you to have all your productivity widgets in one location! Plan out your day, write memos to yourself, play background music to help get in the zone, and check off to-dos through pomodoro sessions that you can even sync with friends!
- Hosted on a live link that never sleeps
- Users can sign up, sign in, log out
- Users can use a demo login to try the site
- Users can't use features without logging in
- Users will be able to write into a 1 day calendar what events and tasks they have for the day in a calendar-like widget
- Calendar events will save to the user's account
- A ticker will display with a horizontal line on the day display to indicate what time it is relative to the schedule
- The day planner will be able to be hidden or shown to the user
- (Bonus) Users will be able to plan out as many days in advance as they would like.
- Users will have a personal memo pad that they can write notes on
- Memos will be saved to the user account
- Memos will be displayed when the user is planning out their day on the day planner in case they need to reference for what they need to get done
- Memos will be able to be hidden or shown to the user
- Users will be able to have a personal todo list they can add to
- Users will be able to customize the priority level of their todo items
- Todo lists will be saved to the user account
- The Todo List can be hidden or shown to the user
- Users will be able to start a pomodoro timer during their work sessions
- Users will be able to customize the interval of the work timer and break timer
- The pomodoro timer will be able to be hidden or shown to the user
- (Bonus) Users will be able to sync their pomodoro timers with other users with pomodoro group sessions
- Users will have a playbar that will play background music on the webpage
- Users will be able to skip, repeat, backtrack and scroll songs with the playbar
- (Bonus) Users will be able to add their friends to a friends list
- (Bonus) Users will be able to display their status (active, working, do not disturb)
- (Bonus) Users will be able to chat to their friends in group and private messages
- (Bonus) Users will be able to sync their pomodoro sessions together in pomodoro group sessions
- Node.js
- React.js
- Flask
- Vanilla JS
- Vanilla CSS
- GET /users/ -> Authenticates a user
- POST /users/login -> Logs a user in
- GET /users/logout -> Logs out a user
- POST /users/signup -> Creates a new user and logs them in
- GET /users/<user_id> -> Returns user information by id
- POST /users/settings/<user_id> -> Creates a new setting item for the user
- GET /users/settings/<user_id> -> Returns a user's settings
- PUT /users/settings/<user_id> -> Edits a user's settings
- POST /new -> Creates a new event for the user's
- GET /<user_id> -> Returns all events for the current day for the user
- PUT / -> Edits an event based on the sent data
- DELETE / -> Deletes an event
- POST /memos/new -> Creates a new memo in the database
- GET /memos/<user_id> -> Returns the user's saved memo if it exists
- PUT /memos/<user_id> -> Edits the user's saved memo
- POST /friends/new -> Adds a new friend to the user's friends list
- GET /friends/<user_id> -> Returns a user's friends list
- DELETE /friends/delete -> Removes a friend from a user's friends list
- LoginPage
- SignupPage
- HomePage
- NavBar
- DayPlan
- NewEventForm
- Event
- Memo
- PomodoroTimer
- Playbar
- (Bonus) FriendList
- (Bonus) FriendCard
A general schema of how the page layout will look.