A real-time short-form blogging CRUD web-app where you can post and see other users' chats using a REST API, socket.io, and MongoDB.
- Go to Statusfer
- Register an account
- Type your first status in the textbox and click Post
- Edit and delete your statuses using the buttons attached to them
- Like or dislike statuses with the feedback arrow icon buttons
- View a status by clicking the View button
- View a user's profile by clicking on their username
- View your profile or choose to logout by clicking on Profile
- When on profile, click Settings if you want to change your username, email, password, or delete your account
- When logged out, go to Login to access your account again
- Fetch API is used to communicate with the server
- Uses the socket.io client to listen for events and update pages in real-time
- Uses Express.js as the back-end framework for the Node.js runtime to deliver resources to the client
- Mongoose API is used to communicate with the MongoDB database
- Bcryptjs hashes passwords so they can be securely stored in the database
- JWTs are used to authenticate users for user requests
- Uses socket.io to emit events for the client
- Filters profanity using the obscenity package
- To demonstrate my full-stack skills and not use any frameworks like React
- Wanted to learn about encryption and security for user data, REST API architecture for creating a CRUD web-app
- Test my ability to create and become a better developer
- Clone the repository:
git clone https://github.com/Brochin5671/statusfer.git
- Ensure to create a .env file with the following variables:
DB_CONNECTION=<connection link to your MongoDB cluster>
ACCESS_TOKEN_SECRET=<your secret>
REFRESH_TOKEN_SECRET=<your secret>
-
Run your application
-
Ensure Node v18.x is installed
npm ci
npm start
- The application will be available at localhost:3000