Capstone Project – Week 3

This week I will again be discussing the current state of my capstone project.  We are officially in Week 3 and things are quickly starting to pick up.  First, my group put together a project plan which outlines the basic layout and approach of our “improved Craigslist” app.  I contributed to the plan by taking on 3 tasks including laying out the backend, setting up our project management system, and making a chart showing the breakdown of labor for the group.

When I first started thinking about the backend, I had a lot of ideas and really only 1 constraint.  That constraint was that we needed to use Amazon S3 for image storage.  After doing some research on Amazon Web Services, I quickly realized that we could pretty much implement our entire backend on AWS.  User authentication, databases, image storage, hosting were all supported by AWS and there was even a step-by-step guide using Flutter.  Perfect!  Next, I needed to decide what kind of database to use – relational or non-relational? For non-relational, AWS supports DynamoDB and for relational, AWS will support a number of different DBs including PostgreSQL, MariaDB, and MySQL.  After discussing the options with my group, we decided that relational was the way to go and I suggested we use PostgreSQL.  I have some experience with that DB and I really enjoy using pgAdmin, which is a tool that allows you to view/edit PostgreSQL tables in a standalone app.  With that, I started putting together an Entity-Relationship Diagram so we have a rough idea of our models and how they related to one another.

Next I set up our project management system.  I decided to use Jira because I have used it in a previous class (CS361) and I thought it was fairly straightforward to use.  I think having a PM system is extremely important because it gives us experience with the Agile/Scrum methodology and let us use a tool that is very prevalent in the SWE industry. 

Finally, I put together a simple chart showing the division of labor in our group.  The chart was separated into 3 areas: frontend, backend, and documentation.  As a group, we decided that we all want to have a hand in each of these areas, so we tried to divide them as evenly as we could.  As the project gets further along, however, I am sure that things will change and each person might focus more on one area than another.  This is expected and it is best that we remain flexible and open to change.

Print Friendly, PDF & Email

Leave a Reply

Your email address will not be published. Required fields are marked *