Skip to content

Latest commit

Β 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ““ React Journal

React Journal is a full-stack journaling application where users can securely create, manage, and delete personal journal entries.

Built with React and Express, the app uses JWT-based local authentication and MongoDB for data persistence.


πŸ”§ Tech Stack

Frontend

  • React 19 + Vite
  • Tailwind CSS
  • React Router DOM
  • Axios
  • React Icons

Backend

  • Express.js
  • MongoDB + Mongoose
  • JSON Web Tokens (JWT)
  • bcryptjs
  • dotenv

πŸ“ Project Structure

React-Journal/ β”œβ”€β”€ backend/ # Express server & API routes β”‚ └── src/ β”‚ └── index.js β”œβ”€β”€ frontend/ # React app powered by Vite β”‚ └── src/ β”‚ β”œβ”€β”€ main.tsx β”‚ β”œβ”€β”€ App.tsx β”‚ └── components/ └── README.md


πŸ” Authentication

  • Local authentication using JWTs
  • Passwords securely hashed using bcryptjs
  • No third-party login (e.g., Google, GitHub)

πŸ—ƒοΈ Journal Data Storage

  • Entries are user-specific
  • Stored in MongoDB via Mongoose
  • Accessed via secure, RESTful API routes

πŸš€ Getting Started

1. Clone the Repository

git clone https://github.com/chemicoholic21/React-Journal.git cd React-Journal

2. Setup Backend

cd backend npm install Create a .env file in the backend folder:

PORT=5000 MONGODB_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret

Start the server:

npm run dev Backend runs at: http://localhost:5000

3. Setup Frontend

cd frontend npm install npm run dev Frontend runs at: http://localhost:5173

βœ… Features πŸ” Local user registration & login (JWT-based)

πŸ”’ Password encryption with bcrypt

πŸ“ Create, edit, and delete journal entries

🧾 Persistent storage in MongoDB

πŸ“± Responsive UI with Tailwind CSS

🧼 Clean separation of frontend/backend

πŸ§ͺ Scripts Frontend

npm run dev # Start Vite dev server npm run build # Build for production npm run preview # Preview production build npm run lint # Lint codebase

Backend

npm run dev # Run with nodemon (development) npm start # Run production server

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages