A Step Closer
I’ve had the most productive week since starting working on Claritask back in August. I honestly, cannot believe it’s been ~2 months already.
It all started as a challenge to learn how-to-code and make a product that works. Since then, I’ve managed to get Claritask to a point where I can actually start selling it. My motivation has gone way up and I’m almost starting to think of Claritask as more than just a fun project.
I’ve had similar weeks where I’ve worked tons, but got done much less, because it would take me an entire day to complete a single database insert.
Now, armed with speed, tools, and options while coding, I can get multiple features done in a single week (sometimes even during a day).
Below, is a sneak-peak into “People in Workspaces” (Adding people to Workspace, Inviting team-members to join Claritask)
What’s taking me the longest is various security-check scenarios. For example, when a user is invited into someone’s list, there a few checks that need to happen before the user is successful invited to someone’s Workspace:
- Is this user myself? (Same Email to the logged-in user) — This is important, because we don’t want 2 users with the same Email address in our database, since Email is the primary unique ‘username’ for each Claritask user.
- Is this user already in my Contact List? — If so, we cannot add them twice! (If they are invited, but not confirmed, lets present a message)
- Is that user a Claritask user? — If they are not, lets invite them to Register their Account on Claritask!
(You can see these scenarios up on the Twitter embed above).
Likewise, during registration, there are a few more things happening.
First the new user’s Email is validated for correct format, then they’re checked against all users in the DB — if they exist already.
After these initial checks go through, I’m creating a couple of things on the fly, such as user’s Workspace (Each user has a Workspace. A “Workspace” is a company, team, group, etc.).
I’m creating the new registration with a transactional insertion. Meaning that, if any of the insert-points fail during creation, everything is rolled-back and user is presented with an error.
There are few more details that need to be complete in this part of the project, before I move on to the next one. However, up next are Notifications and Assigning Tasks to others (single/multiple people), as well as some sort of communication between People in a Workspaces/Projects.
As you can see, product-timeline is starting to get intertwined since certain parts of the build are starting to integrate with and depend on one-another. But, due to the simple-nature that I’m trying to keep within Claritask, I will try to launch bits and pieces without overwhelming the entire build and current users.