The ProNote App is a React Native application designed to provide a seamless note-taking experience. Users can create, edit, organize, and search for notes, with a responsive design suitable for both mobile and desktop devices.

- Create Notes: Add new notes with titles and content.
- Edit Notes: Modify existing notes easily.
- Organize Notes: Use categories or tags to organize notes.
- Search Functionality: Find specific notes quickly.
- Responsive Design: Optimized for both mobile and desktop views.
- Express: Web application framework for Node.js.
- Expo: Framework for building React Native apps.
- MySQL: Database engine for storing notes.
- React Router: Handles client-side routing.
- Styled Components: Utilizes CSS-in-JS for component styling.
- Clone the repository:
git clone https://github.com/Mirzaei81/ProNote cd ProNote - Install Expo CLI:
npm install expo
- Install dependencies:
npm install npm --prefix ./server install
- Create a
.envfile in theserverfolder with the following information:MYSALT=#Number for salting, default 10 PRIVATEKEY=#secret key for JWT (JSON Web Token) HOST=#DB Host USER=#DB User PASS=#DB Password LOCALADDRESS=0.0.0.0 # Server address for Express PORT=3000 - Create a
.envfile in therootfolder with the following information:EXPO_PUBLIC_PORT=3000 EXPO_PUBLIC_TIMEOUT=3000
- Run the server:
cd server npm run dev - Run the client:
Open a new terminal from the root folder and run:
npx expo start
- Load the app on an Android simulator:
- Wait for the client to fully load.
- Press
Ato open the app on your Android simulator.
- Server (Express): Handles API requests, serves the React client, and manages the SQLite database.
- Client (Expo): Displays the user interface, communicates with the server via API endpoints, and uses Expo Router for navigation.
We welcome contributions from the community! Follow these steps to contribute:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them.
- Push your changes to your forked repository.
- Submit a pull request to the main repository.
If you encounter any issues or have suggestions for improvement, please open an issue on the repository.
This project is licensed under the MIT License.