Contents
A Chatroom Application with User Authentication & Accounts. Login & Register to join a Chatroom, which is powered in realtime and dynamically, for all concurrently connected users. Also has the options to manage your chatting account, such as changing password or username (both of which are needed to register, or login), as well as display name. All Account information is queried and stored in a MySQL database, with passwords securely hashed first.
A locally hosted http REST API, made in Typescript and Node, with Express and Socket IO frameworks, supported by a MySQL database. Uses EJS template engine for client page serving.
For help or guidance in downloading and running the application, see the following subsections.
You must have npm (node package manager) and Nodejs installed on your system!
- Setup npm:
npm install npm@latest -g
- Clone/Download:
git clone https://github.com/tberey/ts-node-chatroom.git
- Install:
npm install && npm update
- Start:
npm run start:app
Endpoint | Action/Desc. | Full URI (hosted locally, on some port; e.g.: 3000) | Request Type |
---|---|---|---|
|
Home Page: The client-side landing page. Login or Register. |
GET | |
|
Chatroom: If logged in, this is the url for the chatroom. if not logged in, redirects to home page. |
GET | |
|
Post request to login a user, with supplied credentials. If successful, redirects to chatroom. | POST | |
|
Post request to register a user, with supplied credentials. | POST | |
|
Post request to update a logged in user's username. | POST | |
|
Post request to log out a user and redirect to home page. | POST | |
|
Put request to update a logged in user's password. | PUT | |
|
Delete request to delete and hence log out a user, and redirect to home page. Hard delete of account. | DELETE |
Landing Page (Register and/or Login):
Multiple Users (All Logged-in):
Below is the refined and confirmed roadmap, that has been planned for completion. See open issues and also the project board, for any other proposed features or known issues, which may not be listed below.
Feature/Task/Bugfix | Details | Version (if released) | Notes |
---|---|---|---|
Bug#1 | Bug details... | 0.0.1 | example#1 |
Feature#4 | Feature details... | example#2 | |
Automatic Database Startup & Configuration | Auto-build database and table(s), and auto-populate data or test account (seeding). | ||
Fix ID=0, On Register and Login | User's ID is shown as 0, but only when registering and logging in for first time, (re-log fixes, & no DB issues seen). | ||
Remove SQL From Server.ts | Remove any sql/db related stuff from Server.ts class and add into Database.ts class. | ||
Add Promises | Add Promises etc. |
Version | Date | Changes |
---|---|---|
Version 0.0.1 | [2020-03-08] |
|
Version 0.0.2 | [2020-03-09] |
|
Version 0.1.0 | [2020-03-10] |
|
Version 0.2.0 | [2020-03-11] |
|
Version 0.2.1 | [2020-03-12] |
|
Version 0.2.2 | [2020-03-13] |
|
Version 0.2.3 | [2020-03-17] |
|
Version 0.3.0 | [2020-03-20] |
|
Version 0.3.1 | [2020-03-21] |
|
Version 0.4.0 | [2020-03-23] |
|
Version 0.4.1 | [2020-03-24] |
|
Version 0.4.2 | [2020-03-25] |
|
Version 0.4.3 | [2020-03-26] |
|
Version 1.0.0 | [2020-04-02] |
|
Version 2.0.0 | [2020-05-18] |
|
Version 2.1.0 | [2020-05-19] |
|
Version 2.1.1 | [2020-05-20] |
|
Version 2.2.0 | [2020-05-20] |
|
Version 2.2.0 | [2020-05-20] |
|
Version 3.0.0 | [2021-07-29] |
|
Version 3.0.1 | [2021-07-31] |
|
Version 3.0.2 | [2021-08-01] |
|
Version 3.0.3 | [2021-08-03] |
|
Version 3.0.4 | [2021-08-04] |
|
Contributions are welcomed and, of course, greatly appreciated.
- Fork the Project.
- Create your Feature Branch (
git checkout -b feature/Feature
) - Commit your Changes (
git commit -m 'Add some Feature'
) - Push to the Branch (
git push origin feature/Feature
) - Open a Pull Request.
Tom Berey; Project Manager, Lead Developer, Principal Tester & Customer Services;
tomberey1@gmail.com;