Admin & User Management
This is something I’ve never really worked on or have thought about before, so this section might change drastically over time as I get more acquainted with the subject.
It’s probably a good idea to be able to manage your users in a web app, or perform basic CRUD (create/read/update/delete) tasks on your users. You should at least be able to see how many users have signed up.
For Phase 1, I just want a way to look at basic user analytics. How many users are signed up, how many active users I’ll have, how many users end up finishing their NaNo, and so on. Maybe I can devise a metric that shows average word count and rates throughout the month of November. I’m really not interested in seeing user-specific data, especially user-specific novel content, as that would be an insane amount of privacy violation. I know I’d never want anyone to read my writing. But even using personal metrics could potentially violate some amount of privacy, so it’s walking a fine line of data gathering and privacy, something I’m sure the likes of Facebook and Twitter deals with on a daily basis.
Some data could be collected to tell a compelling story. For example, do most words get written at the beginning of the month and at the end of the month, or is it more of a steady writing process? Do users wait until the last day to write?
- Total Users
- Number of Users Signed In
- Active vs. Inactive users (no activity within seven days)
- Number of Users per day, over time (graph?)
- Total Novels
- Total Finished NaNo Novels (word count > 50k)
- Novels started & finished over time
- Total word output per day
- Total word count
- Set a Sign up max limit (circuit breaker in case of demand too high)
- Freeze sign ups (circuit breaker in case of too many signups or bots)
- Set a New Novel limit (circuit breaker)
- Email Address
- User Name
- Password Reset
- User Status (might be used later on to track donations or subscription service)
- Notes (might be used later for customer service notes)
- Pause User (prevent user from entering new novel data, in case they’re abusive for some reason, like spamming the server)