Welcome to the Blogging Full-Stack App with JWT Authentication! This project is a robust, secure, and scalable application that showcases the integration of a modern frontend with a powerful backend. The app leverages password encryption and JSON Web Tokens (JWT) for authentication, ensuring secure user sessions.
- Introduction
- Features
- Technologies Used
- Installation
- Usage
- API Documentation
- Authentication and Security
- Contributing
- License
- Contact
This full-stack application is designed to provide a seamless user experience with a responsive frontend and a secure, efficient backend. The application supports user authentication using JWT, ensuring that user data is protected and sessions are managed securely.
- Full-Stack Development: Complete integration of frontend and backend.
- Secure Authentication: Implements JWT for user authentication.
- Password Encryption: Ensures user passwords are stored securely.
- API-Driven: Robust APIs to handle various functionalities.
- Scalable Architecture: Designed to scale with increasing user demands.
- Like Posts: Users can like posts to show appreciation.
- Post Creation: Users can create new posts.
- Edit Posts: Users can edit their own posts.
- React.js
- HTML5
- CSS3
- JavaScript
- Node.js
- Express.js
- MongoDB (or any other database you used)
- JWT (JSON Web Tokens)
- Bcrypt for password hashing
- Node.js and npm installed
- MongoDB setup (or any other database)
-
Clone the repository
https://github.com/faisalkhandev/Blogging-Backend-and-Frontend..git
-
Navigate to the project directory
cd server
-
Install backend dependencies
cd server npm install
-
Install frontend dependencies
cd frontend/authProject npm install
-
Configure environment variables in
.env
file for backend (e.g., database URI, JWT secret) -
Run the backend server
cd server nodemon app.js
-
Run the frontend development server
cd frontend/authProject npm run dev
-
Open your browser and navigate to
http://localhost:3000
- POST /api/register: Register a new user
- POST /api/login: Authenticate a user and return a JWT
- GET /api/profile: Get authenticated user details
curl -X POST http://localhost:5000/api/auth/login \
-H 'Content-Type: application/json' \
-d '{"email":"abc1@gmail.com","password":"abc1"}'