Journalify is a journaling application that allows users to create, edit, and manage their personal journals. It includes user authentication, admin capabilities, and various features like public and private journals.
- Frontend: React, Material-UI, Vite
- Backend: Node.js, Express, MongoDB
- Testing: Cypress (Frontend), Jest and Supertest (Backend)
- Database: MongoDB
- Authentication: JWT, Cookies
- Styling: Material-UI (MUI)
Make sure you have the following installed on your system:
- Node.js (v16 or above)
- npm (comes with Node.js) or Yarn
- MongoDB (local instance or cloud database)
- Git (optional, for cloning the repository)
Journalify: README Table of Contents Project Overview Tech Stack Prerequisites Installation Backend Setup Frontend Setup Running the Project Testing Project Structure Project Overview Journalify is a journaling application that allows users to create, edit, and manage their personal journals. It includes user authentication, admin capabilities, and various features like public and private journals.
Tech Stack Frontend: React, Material-UI, Vite Backend: Node.js, Express, MongoDB Testing: Cypress (Frontend), Jest and Supertest (Backend) Database: MongoDB Authentication: JWT, Cookies Styling: Material-UI (MUI) Prerequisites Make sure you have the following installed on your system:
Clone the repository:
git clone https://github.com/iAbhi001/JournalZ.gitNavigate to the project directory:
cd JournalZBackend Setup Navigate to the backend folder:
cd backendInstall dependencies:
npm installStart the backend server:
npm startThe backend server should now be running at http://localhost:5000.
Navigate to the frontend folder:
cd frontendInstall dependencies:
npm installStart the backend server:
npm run devSet up backend API URL:
cd src/api/axios.jschange the following url:
baseURL: "http://localhost:5000/api", // Replace with your backend's base URLStart the backend server:
cd backend
npm startStart the frontend server:
cd frontend
npm run devOpen http://localhost:5173 in your browser to access the application.
Run the frontend dev server:
npm run devOpen Cypress:
npx cypress open
Select a test file (e.g., login.cy.js) to run tests in the Cypress interface.
Run the tests:
cd backend
npm test