The backend now allows users to create an account, sign in, and sign out. We also build almost all of the database tables that our system will need, and began to implement the models. This iteration includes tests of how users are created and authenticated. The user test cases, found in test/models/user_test.rb test that the user validations specified in the user model are upheld correctly. All passwords must be at least 6 characters long, all users must have both a first and last name, all users must have an email address in the correct format, and all email addresses must be unique. Because we have very similar specifications to those found here https://www.railstutorial.org/book/filling_in_the_layout#sec-user_signup, many of our test cases come from that source.
For iteration 4, we want to achieve basic functionality for the OliGUI workspace by linking together the frontend and backend. The user should be able to grab BioBricks from the database on the server to construct a sequence of biobricks in the user's workspace. The sequence should subsequently be represented in the backend by a sequence object. Modifications on the sequence by the user should be reflected on the server.
For iteration 5, we want to integrate the user account functionality already implemented in the backend with a new frontend interface. This will include a login page, an account page, and a user library page which contains the users saved sequences. If we finish this functionality, we want to be able to allow the user to send their oligos to an oligo company as well as allow notifications and messages between users.
For iteration 6, we want full functionality in our website. We want users to be able to log in, design BioBrick sequences, export their oligos to file or to an email to an oligo company, share their sequences with other users, and manage their library of saved sequences. For iteration 6, we want the website to be robust in edge cases so that it is ready for consumer use.