StylishNotebook is a full-stack web application that allows users to securely store their notes in the cloud. It features a user authentication system, note creation, editing, deletion, and secure storage using JWT and bcrypt for password hashing.
- User Authentication: Create and log in with your account using email and password.
- Note Management: Add, edit, delete, and view notes.
- Secure: Passwords are hashed with bcrypt, and JWT is used for secure authentication.
- Responsive: Works in modern browsers such as Chrome, Firefox, and Safari.
To set up and run the application locally, follow these steps:
Ensure that the following software is installed:
- Docker: Install Docker
- Docker Compose: Install Docker Compose
- Node.js (for development purposes): Install Node.js
-
Clone the repository:
git clone https://github.com/yourusername/stylishnotebook.git cd stylishnotebook -
Copy the
.env.exampleto.env:cp .env.example .env
Adjust the values in
.envif necessary (e.g.,REACT_APP_BACKEND_URIfor the frontend). -
Build and start the application using Docker Compose:
docker-compose up --build
This will start the following services:
- Frontend (React app) on port 3000.
- Backend (Node.js app) on port 5000.
- MongoDB on port 27017 for note storage.
-
Open the app in your browser:
Visit
http://localhost:3000to access the app.
This application is built with a React frontend and a Node.js backend. The backend is connected to MongoDB for storing user data and notes. The main features include:
- Authentication: Users can create accounts, log in, and access their own notes.
- Note Management: CRUD operations for notes (Create, Read, Update, Delete).
- Secure: JWT tokens for authentication, bcrypt for password hashing.
- Responsive Design: Mobile and desktop friendly UI.
└─ ashvinbambhaniya2003-stylishnotebook/
├─ README.md
├─ Dockerfile
├─ docker-compose.yml
├─ package.json
├─ .dockerignore
├─ .env.example
├─ Backend/
│ ├─ Dockerfile
│ ├─ db.js
│ ├─ index.js
│ ├─ package-lock.json
│ ├─ package.json
│ └─ routes/
├─ public/
├─ src/
│ ├─ App.js
│ ├─ components/
│ ├─ context/
├─ .github/
└─ workflows/
├─ backend-ci.yml
└─ frontend-ci.yml
- Frontend: React application in the
srcfolder. - Backend: Node.js backend with MongoDB connection in the
Backendfolder. - Docker: Dockerfiles and
docker-compose.ymlto run both the frontend and backend locally. - CI/CD: GitHub Actions workflows for automatic build and deployment.