Skip to content

Commit

Permalink
Merging dev into main - Sprint 4 (#3)
Browse files Browse the repository at this point in the history
* planet route added

* Planets Homepage Init

* displaying rotating sun with css animation

* planets page css colors added

* 1. Displaying all the planets in order
2. Positioned sun in the middle
3. Added planets orbits css
4. Animations added for all the planets

* added google authentication dependencies

* added auth worker for multi-type authentication

* enabled selective properties for get-user-by-id

* renamed authentication middleware

* fixed errors with new auth implementation

* added refresh to token on confirm login route

* added google authenticated message to info

* Added conversationId to schema

* Created new converation schema to store common ID between two users

* created POST /user/chat API to store messages between two users

* API for retrieving all the messages between two users

* added route for messages

* new messages page module created

* added google auth buttons to frontend

* removed unnecessary redirect url param

* added base feed route to get most popular posts

* added specific feed route to get latest posts from planet or user

* bootstrap navbar added for temporary header

* fixed settings page width

* seperated danger zone

* updates modal component docs

* updated docs in Header and Modal confirmation

* Custom mouse cursor image added

* displaying the custom cursor globally

* Cursor component created, still in progress...

* added full screen loader

* added small text loader

* revised scrambling animation

* added full screen coverage to loader

* adjusted the settings page style

* Added UIBox component for common textboxes

* added cards to each setting sections and experimented with new colors

* Added main layout of the Post page.

(TODO) Change <input> text tag to a dynamic text area or dynamic text tag so the user can type more

* style of settings page looks more like signup and feeds page

* added box shadow to danger zone

* styled confirmation modal component

* finsihed the modal styling in the settings modals

* added field clearing when clicking btns on the change pass modal

* added input clearing to the delete account modal aswell

* fixed resposnse toasts for change password

* Finish the posting feature and post feature.

Integrated post page to backend and database

Added the post link to the post button on the hotbar

* fixed the delete acc API so that input is joi validated

* removed old comments

* Finished a dummy profile component

Finished a dummy profile page

(TODO) Add settings and edit profile button to profile component

* finished privacy policy and terms of use pages

* Added a profile and settings page

* fixed some styling issues with the hotbar

* Implemented a  profile page that displays the user data

(TODO) Query user's posts and display them in them in the profile page

* made a 'sky.net' header option and updated all of the pages

* updated header documentation

* updated docs in the modal component

* Implemented the posts from the user to the database using the backend route

Updated the post component to accept the data from the database

Update the documentatioin of the post component

* added canvas dependencies

* added background stars

* added visual properties to planet model

* added react ref helper function

* implemented center logo

* implemented orbiting planets

* combined planets, bg and logo on homepage

* changed naming and added as home page

* Create post detail page to retrive post from db

* Modify the post date and ttime area

* Create comment component and modified routes

* fetching messages onload between two users setup

* Basic design structure setup for messaging

* saving messages in db with dummy receiver id

* displaying user messages from the db

* renamed file

* fixed routing with invalid authentication and added planet map to resulting route

* fixed home planet icon not appearing

* removed old comments

* fetching the receiver id from the url

* Added userID to profile page

Fixed bug on profile page for infinite request

Modified the Profile component to accept a version for outside users

Added profile page and user page routes to hotbar and app.tsx

* diplaying sender message on right and receiver message on left

* id query param added to route

* added frontend change username functionality

* Integrated change email functionality to frontend

* added surpise challenge easter egg

* Fixed a bug in which the name wouldn't appear on posts in the profile page

* Changed the name in user page and profile page

* defined isChat State for conversations between two users

* if else condition for whether chat conversations is present or not

* experimented with hotbar no major changes

* wrong opacity value fixed

* Added user page

Fixed some bugs related to appearing unwanted posts on the profile and user page

* added deleteduser model and delete user API is now storing original data in col

* added basic soft delete feature

* Added a placeholder for when the user has no posts in the profile or user page

* added use-image utility to load images easily for Konva

* Modify Comment Module CSS

* Connected the general feed page to the backend to receive posts from database (rough code, should check it later)

* added planet information card

* connected saving post API  to the post component

* fixed clickability of planet info card when it is inactive

* Added integration of liking/disliking posts backend routes to frontend, now posts can be liked/disliked through post buttons

* Added visual feedback so if a post is already liked or disliked will appear as so even if the user refreshes the page

* 1. using socket.io to display real time messages
2. listening socket event for chat between two users
3. emitting socket event upon message submit

* passed key to the parent element

* Added Socket.IO module

* Added a feed page for each planet

* Modified the general page to redirect to planet pages (HARD CODED)

(TODO) Automate the process of listing the planets. Waiting for the true finished planet home page, so not a priority

* Finished connecting the home page to planet feed and general feed

* updated the packages used on both client and server side

* Added socket.io package

* Socket.IO setup with multiple events listening back and forth from frontend

* 1. Validating req fields with joi
Socket event being emitted to frontend

* minor changes

* added planet images for visualization

* added zoom from scrolling on desktop

* removed unnecessary group wrapper from center visual

* sorted imports

* integrated new auth context into existing components

* integrated list home view with planet map home view

* Modify the post detail page

* Add .gitignore back

* Apply like and save function on the detail page

* Apply Like, Bookmark to comments

* Fixed Comments like issues. Modify to retrieve all comments

* Add back .gitignore

* fixed local gitignore

* added environment helpers and moved dependencies around correctly

* removed environment files from repo

* removed all node_modules again

* prefixed .env variables with VITE

* fixed port for vite server

* Test if git ignore works

* fixed like interaction not returning correct result

* fetching the server host dynamically

* styled backdrop filter of hotbar, easier to see

* Fixed the like, save isssue on feed and post detail page

* added media querries for header font size

* Changed link to the general feed

* font size tweaks

* Remove the console log

* Fixed user profile link issue

* Fixed merge conflicts with planet-feed

Added general feed and planet feed pages

Added link from home and home planet pages to the feeds

Fixed like/saved counts and icons

* deletedusers now expire after 30 days

* Added a hotbar link to the posting page

Redirected the user after posting to the profile page

* removed expiry time for now as it is not working

* link to private messages

* Font styling

* 1. Displaying User logged in
2. Back button redirects to window previous history

* sending socket emit upon first time save

* hotbar hotfix on icon size

* Hotfixed username issue

* fixed google oauth taking priority over JWT

---------

Co-authored-by: Kamal Dolikay <kamaldolikay@gmail.com>
Co-authored-by: Zyrakia <ole.lammers@pm.me>
Co-authored-by: Samarjit Bhogal <samarjit.v.bhogal@gmail.com>
Co-authored-by: Tianyou-Xie <tianyouxie001@gmail.com>
  • Loading branch information
5 people authored May 24, 2024
1 parent 4fe534d commit 9533c1a
Show file tree
Hide file tree
Showing 124 changed files with 5,920 additions and 857 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,6 @@

# Secret files
**/*.env

# Mac Files
**/.DS_Store
11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@ The project is built using [Typescript](https://www.typescriptlang.org/), and sp
- [CSS Modules](https://github.com/css-modules/css-modules) (implemented by Vite)
- [Bootstrap](https://getbootstrap.com/)
- [axios](https://axios-http.com/)
- [dotenv](https://www.dotenv.org/)
- [React If](https://https://www.npmjs.com/package/react-if/)
- [React Toastify](https://fkhadra.github.io/react-toastify/introduction/)
- [Socket IO](https://socket.io/) (Client)

**Server (built with [esno](https://www.npmjs.com/package/esno)):**

Expand All @@ -40,6 +44,12 @@ The project is built using [Typescript](https://www.typescriptlang.org/), and sp
- [http-status-codes](https://www.npmjs.com/package/http-status-codes)
- [nodemailer](https://www.nodemailer.com/)
- [JWT](https://jwt.io/)
- [CORS](https://www.npmjs.com/package/cors)
- [dotenv](https://www.dotenv.org/)
- [Google Auth Library](https://cloud.google.com/nodejs/docs/reference/google-auth-library/latest)
- [Google APIs](https://www.npmjs.com/package/googleapis)
- [Http Status Codes](https://www.npmjs.com/package/http-status-codes)
- [Socket IO](https://socket.io/) (Server)

**Development Utilities:**

Expand Down Expand Up @@ -69,6 +79,7 @@ Both the server and client utilize a `.env` file.
| Key | Usage |
| ---- | ------------------------------ |
| PORT | Port used for the frontend app |
| VITE_LOCALHOST | Host used for listening to Server Socket Events |

**Server Variables:**

Expand Down
Loading

0 comments on commit 9533c1a

Please sign in to comment.