Week 2


The first and second lecture for CS3216 have concluded. Admittedly, I have learnt nothing new from these 2 lectures.

For the software engineering related content, they have mostly been covered by CS2103 and CS3217, as well as through self reading and past SE experiences of our own.

As for the motivational speeches, I believe most people in this class are already sufficiently self-motivated for these speeches to have any further effects.

Lastly, for the course administration, the course website has already documented them clearly, therefore regurgitating them during lecture is not an efficient use of time.

All in all, the lecture content can be more concise and the lecture duration can be shortened.

Assignment 1 Idea

My group has embarked on our assignment 1 and I have finalised my project grouping for assignment 2.

The first stage of the project is ideation. We each did our research separately and came out with 2-3 ideas individually. Next, we met and discussed on the merits and potential pitfalls of every proposed idea. Lastly, we voted to identify the top 4 most popular ideas. We then concluded our first meeting so that we can have time to think about the 4 ideas and perform further researches on them. We met again the next day and every member was given a chance to voice their opinions and concerns about each of the 4 ideas, and after a lengthy discussion, we unanimously agreed to work on one of the idea.

The idea we have chosen is NUSEats, an app that compiles real time information about canteens and restaurants around NUS, such as opening hours, available dishes and crowdedness. The app will also incorporate social features such as broadcasting one’s intended lunch location, calling out/inviting friends to join for lunch etc. Other features of the app include opinion polls such as best modules to take, best lecturers etc.

Assignment 1 Team composition 

  1. Jovin Liew: UI/UX designer/business person
  2. Charlton Lim: Back-end developer
  3. Ho Yihang: Full stack developer
  4. Wang Riwu (me): Full stack developer

Assignment 1 Technology stack

For the front-end, we unanimously agreed to use React.js + Redux. The discussion on the merits of React and Redux shall be deferred to future posts when there are practical examples to demonstrate their apparent benefits.

For the back-end, even though Charlton is only experienced with Java/Spring Boot, he has agreed to learn Javascript/Express, as it has the advantage of enabling switching between server-side and client-side rendering (See also: Isomorphic Javascript) and is less verbose than Java (among various other advantages which I shall skip in this post as it might take a month to list them all).

For the database, Yihang initially suggested MongoDB but I recommended MySQL as RDBMS would allow clearer management of our data relationships, easier data normalisation to enforce data integrity and reduce data redundancy. In the end, we settled with PostgreSQL as Charlton is more familiar with it and there is not much practical difference between MySQL and PostgreSQL for our use cases.

1 Comment

  1. Personally I would prefer not to give an SE lecture, but unfortunately different people are in different places (and most don’t read SE books, choosing instead to read on, for example, design or entrepreneurship), so many found the SE and particularly the SCRUM lectures useful.

    In any case I have two slots that are still unfilled, feel free to suggest what you want to see in those slots.

Leave a Reply

© 2024 Course Reflection

Theme by Anders NorenUp ↑

Skip to toolbar