π Excited to share my latest project! Iβve built an advanced full stack web application featuring user authentication and post management using Node.js, MongoDB, Express.js, and server-side rendering. This project allows users to register, log in, create and manage posts, like posts, and moreβall while ensuring secure access through protected routes.
A big shoutout to Harsh Sir from Sheryians Coding School on YouTube for this wonderful idea!. This project is a full-featured web application built using Node.js, MongoDB, Express.js, and server-side rendering. It offers a rich set of functionalities, providing a robust platform for user interaction and content management. The application is designed with a focus on security and usability, ensuring that only authenticated users can access certain routes and perform specific actions.
-
User Authentication:
- New users can register.
- Existing users can log in.
- Users can log out.
- Profile details can be edited.
-
Post Management:
- Users can create new posts.
- View all posts.
- Like posts and see like counts.
- Authorized users can edit post content.
- Delete specific posts.
-
Security:
- Most routes are protected and can only be accessed after logging in.
- Node.js: JavaScript runtime for building fast and scalable server-side applications.
- Express.js: Web framework for Node.js, providing a robust set of features for web and mobile applications.
- MongoDB: NoSQL database for storing user and post data.
- Server-Side Rendering: Enhances SEO and performance by rendering pages on the server before sending them to the client.
-
Clone the repository:
git clone https://github.com/mrkuldeep01/miniapp.git
-
Navigate to the project directory:
cd miniapp
-
Install dependencies:
npm install
-
Start the application:
npm run start
-
Open your browser and navigate to:
http://localhost:3000
- Register a new account or log in with an existing account.
- Navigate through the application using the provided links and buttons.
- Create, edit, and delete posts as per your authorization.
- Like posts and view the like counts.
- Edit your profile details if needed.
- Profile:
/
- Register:
/register
- Login:
/login
- Logout:
/logout
- Edit Profile:
/edit-profile
- Create Post:
/posts/create
- View All Posts:
/posts
- Edit Post:
/posts/edit/:postId
- Delete Post:
/posts/delete/:postId
- Like Post:
/posts/like/:postId
Most of the routes mentioned above are protected and can only be accessed after logging in.
If you'd like to contribute to this project, please fork the repository and submit a pull request. You can also open an issue to report bugs or request new features.
Feel free to reach out if you have any questions or suggestions. Happy coding!βπ¨βπ»π