Finally! The initial version of Theodorus (beta) was launched. It’s probably much less then a minimum viable product but at least it’s something to start a discussion on. So right now, it only offers a list of topics and the option to sign-up or sign-in. Signed-in users can also add new topics of their own.
There are some know issues (bugs 😦 ) that needs to be address before further development but they are relatively small:
- Brackets are not allowed. This is because of the slug-auto-creation mechanism (slug is a permanent URL) failing to create a valid slug. Since slugs are currently not available anyhow, I should probably comment-out the slug validation altogether. The reason I didn’t so until now was the fear of having many topics without a slug that I will be forced to deal with once the slugs will be re-introduced
- For some reasons, the “sign out” doesn’t work in the dev version. It’s still working on production but I should get it fixed nonetheless.
Trying to figure out an MVP, I decided not to have a sign-up page. However, since I already have one working relatively OK, it seemed like an unnecessary hassle to remove it. So I decided to keep it and face whatever bugs it might create.
This is still small-scaled beta so I sent the link to a small number of friends for them to beta-test it and I hope that future version will arrive faster than this one and a public version will soon follow.
Following are my development notes: (if you notice, “sign-out” is missing. I forgot about it. now have a version that its “sign-out” is malfunctioning)
- Database: all tables up running
- Main page: should include the list of topics
- What will it show if the list is empty?
- Mode: not logged in
- Mode: logged in, no permissions to suggest
- Mode: logged in, with permission
- Each topic-item contains the topic title, initiator name and date.
- Items are sorted by date, load all items at once
- Add-topic box on top of the feed with a single field and submit button
- upon submission, check for permission
- protect from code injection
- trim long content
- make sure content isn’t too short
- Sign-in page: asking for email, password and “remember me” button
- what happens on authentication failure?
- Sign-up page: asking for username, email, password and repeat-password
- username or email already exists?
- email is invalid?
- password don’t match?