Skip to content

About

A front/backend website that implements many different full stack features such as databases, Node.js & express.js, working with external API, socket.io and web sessions

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

A website to showcase (mainly) backend development capablities

This app consists of a client side and a server side

Technologies: HTML, EJS, JavaScript, Express.js, PostgresSQL

Also not finished yet CSS for design implementation

The purpose of the project is to practice frontend, backend and database abilites I have acquired, improve my knowledge and coding ability and also practice use of Git and GitHub

The app is esentially a website with user authentication and authorization (using cookies and sessions) and allowing the user to play around with various features that require a backend to store data securly.

Features of the app include:

  • Logining and signing up, users are saved in the database, passwords are hashed in the database for security reasons using a dedicated NPM package
  • Authorization of the signed in user across different pages using cookies and sessions (with a dedicated NPM package)
  • external API for trivia
  • Fake balance of credits for each user and the ability to gain and spend the balance on fake items
  • Personal image gallery for each user allowing to upload and store several images on the backend, and also retrieve and delete them on demand

The pinacle feature of the app:

An online real time chat app for different logged users to chat with other using socket.io package Users are able to chat privately, create/delete rooms and chat in groups. They can also view names of other users online.

The backend uses a dedicated packages for middleware for the API routes to increase security. Client side initiates requests using fetch API and promises.

The project stil needs some things to be added:

  • More CSS design across the pages
  • Allow chat app to save users messages history after logout and login back

Graphic exmaples of the app's pages:

Login page:

w1

Main home page with trivia:

w2

Trivia play:

w3

Photo gallery (purple is a custom loading bar):

w4

Shop (not enough creadits to make purchase in that example): w5

Main chat page:

w7

Public chat room creation:

w8

Joining a publlic room: w9

Messaging in a room and other user leaving: w10

Pop up of request for private chat from other user: (Probably should change the pop up to something else in order not to interupt users, or maybe add some ignore mechanism) w11

Pop up to inform user his private chat request was declined by the receiver: w12

If the receiver accepts the private chat request both users are immediatley put into a private room to chat: w13

w14


Snippet from database, my users table. Includes their username, hashed password, email (an email validation middleware was added at some point during the project..) and also amount of their balance (which can go up by answering trivia and go down after purchases in the shop)

w20

About

A front/backend website that implements many different full stack features such as databases, Node.js & express.js, working with external API, socket.io and web sessions

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages