SafeNote is a secure, feature-rich, and user-friendly note-taking mobile application developed using React Native for the frontend and Spring Boot for the backend. The app allows users to create, store, and manage notes securely, with special features for encrypting sensitive information like passwords and confidential details. The app blurs sensitive notes on the frontend, and users can use local authentication (e.g., mobile password, face scan) to view these notes.
- Secure Notes: Store sensitive notes securely in the database.
- Local Authentication: Use mobile password or face scan to view encrypted notes.
- Note Management: Easily create, edit, delete, and manage notes.
- Private Notes: Mark notes as private, encrypt them before saving, and decrypt them when retrieved.
- Search Functionality: Quickly search for notes using the search bar on the home page.
- User-Friendly Interface: Minimal and attractive UI with easy navigation.
- Session Management: Persistent login sessions using local storage, so users don't need to log in repeatedly.
- State Management: Efficient state management across different pages using React Redux Toolkit.
- Frontend: React Native
- Backend: Spring Boot
- Database: MySQL
- State Management: React Redux Toolkit
- Authentication: JWT for secure login and session management
- Encryption: AES encryption for storing and retrieving sensitive notes
- Node.js (version 14 or later)
- Java (JDK 11 or later)
- MySQL
- Android Studio/Xcode (for mobile app development)
- Git (for version control)
-
Clone the Repository:
git clone https://github.com/iamakr97/SafeNote.git cd SafeNote
-
Backend Setup:
-
Navigate to the backend directory:
cd backend
-
Install the necessary dependencies:
mvn install
-
Configure your database settings in the
application.properties
file. -
Run the backend:
mvn spring-boot:run
-
-
Frontend Setup:
-
Navigate to the frontend directory:
cd ../frontend
-
Install the necessary dependencies:
npm install
-
Run the React Native app:
npx react-native run-android # or npx react-native run-ios
-
You can test the backend API using Postman or any other API testing tool.
Set up the necessary environment variables such as JWT_SECRET
and database credentials.
- Once the app is running, you can create an account or log in.
- Add, view, and manage your notes from the home screen.
- For private notes, use mobile password or face scan to view the content.
We welcome contributions! If you want to contribute to this project:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them.
- Push your branch and create a pull request.
Thanks to all contributors and the open-source community for their valuable input and suggestions.