This is a real-time messaging application that allows you to create channels, register users, edit users, log in, log out, and have profile pictures. It is built using the following technologies:
- HTML
- CSS
- JavaScript
- EJS (Embedded JavaScript)
- Socket.IO
- Express
- Channel Creation: You can create chat channels for different topics or groups.
- User Registration: Users can register in the application by providing their nickname, email, and password.
- User Editing: Users can edit their profile, including their nickname, email, password and profile picture.
- Login: Users can log in to the application using their email and password.
- Logout: Users can log out of the application to keep their account secure.
- Profile Pictures: Users can upload and display profile pictures on their user profile.
HTML is used to create the structure and content of the application's web pages.
CSS is used to style and design the application's web pages, allowing customization of element appearance and providing a pleasant visual experience.
JavaScript is used to add interactivity to the application. It enables actions such as sending real-time messages, validating forms, handling events, and dynamically updating page content.
EJS is a template engine that allows dynamically generating HTML using JavaScript. It is used in this application to render views and dynamically display data.
Socket.IO is a JavaScript library that facilitates bidirectional real-time communication between the server and the client. It is used in this application to enable real-time chat between users.
Express is a Node.js web application framework that simplifies web application development. It is used in this application to create the server, handle routes, and manage HTTP requests and responses.
MongoDB: A NoSQL database used for storing and managing data in a flexible and scalable manner. It is used in this application to persist user information, chat messages, and other relevant data.
- Modern web browser compatible with HTML5, CSS3, and JavaScript.
- Node.js installed in the development environment.
-
Clone the application repository.
-
Open a terminal and navigate to the root directory of the application.
-
Run the following command to install the dependencies:
npm install
-
Go to the
config.js
file and configure a port. -
Set the following environment variables:
- MONGO_URI=
YourMongoDBURIHere
- SESSION_SECRET=
YourSessionSecretHere
-
Run the following command to start the application:
npm start
-
Open a web browser and access the application at
http://localhost:PORT
.
Contributions are welcome. If you would like to contribute to the development of this application, you can submit pull requests with your enhancements, bug fixes, or other improvements.