WillCWX / Kakilang

NUS Orbital 2022 Kakilang web app deployment on Vercel

Home Page:kakilang.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

END OF PROJECT ORBITAL

Hi, this is William. As Orbital has come to an end, this is the last commit that will occur before I archive my fork.
Hence, some reflection and conclusion is necessary to close of this chapter of learning.

  • Working with my friend Dylan was a fantastic idea. He is a great teammate, a great leader and a great friend to have.
  • Though we started strong, due to some of my own personal issues, I had to push a lot of my burdens onto Dylan.
    This slowed down development and left a lot of tasks unfinished. On hindsight, some tasks should have been more efficiently done (database management was a pain when refactoring) and some were too ambitious to try to do (media embedding in messages).
  • It was a fun and rich experience learning about the MERN stack and developing our own secure* password authentication, JSWT session authentication, User CRUD, Event CRUD, Event subscription, direct and group chat messaging.
  • Also, the fact that Dylan came up with the UI design himself was also impressive. Though unfortunately, we had to move to material UI due to time constraints and being advised it was not "professional-looking" enough. (We were shocked, angry and frustrated that the beautiful designs of other entries were all from UI libraries like material UI).
  • The idea of MVP (minimal viable product) was not something I was familiar with, and learning when to stop overdeveloping a feature to focus on an underdeveloped feature was something essential to learn.
  • Documentation and project management were all something I learned for the first time as well. They should be short, sweet and to the point!
  • Testing! Test-driven development was something I had no idea about and in hindsight, would have made my code much better, much more readable and much more elegant.
  • I still don't know how to test a website (back-end & database tests are ok) and how to have CI and CD

All in all, this was a fun and wonderful experience. Thank you, Dylan, Orbital, and Kakilang! Kakilang!

Kakilang Social Website for Orbital

Proposal for Orbital 2022

Team Name: 

Ropasalis

Proposed Level of Achievement:

Project Gemini

Motivation

Due to the advent of Covid, community life (Under the context of halls and residential colleges) within NUS has taken an adverse turn as meeting new people have become harder. Even though there are platforms that allow one to meet new people within the community (e.g. interest groups/ CCAs), there is no platform that has the sole purpose of allowing you to meet new people within your own community.

Other groups usually have an unspoken requirement that acts as a barrier that prevents people from meeting others.

For example, interest groups/CCAs usually require you to have an interest in the particular skill in order to join them, House/Faculty activities are very daunting to go in alone as friends usually go to these activities together et cetera.

But providing a platform solely for meeting new people sets that one goal as the expectation, mitigating the previously said social barriers.

Aim

We hope to be able to make a social platform that allows people within the same community to connect with one another more easily, allowing more people to know more people within their own community.

User Stories

  1. As a Year 1, I wish to meet more people/freshies in my own batch and in my own hall/residential college as I am new to the community.

  2. As a senior, I wish to meet new freshies/juniors who come into my residential college/hall.

  3. As a community head, I wish to be able to facilitate activities to help bond my own community.

  4. As a NUS student, I wish to find other students that enjoy the same hobbies and activities (CCAs) as I do.

Features, Timeline and Scope of Project

The Web App is a social platform for students to better find and interact with each other.

Features to be completed by the end of May:

  1. Landing Page and account system

    1. Allow users to log into their account and out.

    2. Display basic information (their own information only)

  2. Filtering system

  3. Allow users to see other people’s data depending on the information that they have provided.

Features to be completed by the End of June: 

  1. Messaging system

    a. Allow users to text one another through the application

  2. Integration with Social Media

    a. Allows for users to connect to Social Media platforms with ease.

Features to be completed by the end of July:

  1. Integration with Social Media/NUSMODS

    a. Allow each account to grab their public feed (e.g. show the recent few posts of Instagram/ show their linkedin profile).

    b. Links with NUSMODS to show each person’s timetable, allowing for ease of setting up group meetings.

  2. “Get to know you” Events.

    a. Allow admin users (e.g. people who are “leaders” of a CCA group etc) to initiate “Get to know you” Events.

    b. These events groups people together in groups of x, where x is a number decided by the admin user. This creates a group for each group of people to chat with one another and get to know each other. There could be preset tasks (e.g. go for a meal, watch a movie together) that the admin leader could implement for them to motivate them to go out together with a prize at the end of the event for each group.

Tech Stack

  1. HTML/CSS/Javascript

  2. ReactJS (Front-end)

  3. Express + NodeJS

  4. MongoDB (Back-end)


Mockups

(Please note that this are just a early mockup and might not be representative of our final product)

The Web Landing Page

Which provides a list of people for one to interact with. It will display a list of people, which comprises of their name and a mode of communication (e.g. email/telehandle as most people in uni use telegram as a mode of communication) as shown below.

A Message system

Which allows users to message to other users individually and in groups.

 

Integration with Social Media/NUSMODS

Which allows users to have integrated functionality from other useful website

 

The technical proof is as shown below:

Login page

Registration page

Side Bar example

About

NUS Orbital 2022 Kakilang web app deployment on Vercel

kakilang.vercel.app


Languages

Language:JavaScript 76.0%Language:CSS 22.3%Language:HTML 1.7%