This is a full-stack mobile application built using React Native, MongoDB, Express, and Expo. The application allows users to save and manage their notes on their mobile devices.
- Features
- Technologies Used
- Prerequisites
- Getting Started
- Installation
- Configuration
- Usage
- API Routes
- Deployment
- Contributing
- License
- User authentication: Users can sign up and sign in to the application using their email and password.
- Note creation: Users can create new notes and save them to the application.
- Note editing: Users can edit their existing notes.
- Note deletion: Users have the ability to delete their own notes.
- Note categorization: Users can assign categories or tags to their notes for easy organization.
- Search functionality: Users can search for specific notes based on keywords or categories.
The following technologies were used to develop this application:
- React Native: A JavaScript framework for building native mobile applications.
- Expo: An open-source platform for building and deploying React Native applications.
- MongoDB: A NoSQL database used to store user and note data.
- Express.js: A back-end framework for building RESTful APIs.
- Node.js: A JavaScript runtime used to run the server-side code.
- Mongoose: An Object Data Modeling (ODM) library for MongoDB and Node.js.
- Passport: An authentication middleware for Node.js.
- JWT: JSON Web Tokens for secure authentication.
- Axios: A JavaScript library used for making HTTP requests from the client-side.
- React Navigation: A library for handling navigation and routing in React Native applications.
Before running this application, make sure you have the following prerequisites installed:
- Node.js: Download and install Node.js for your operating system.
- Expo CLI: Install Expo CLI globally by running
npm install -g expo-cli
.
To get started with the project, follow these steps:
- Clone the repository:
git clone https://github.com/your-username/your-repository.git
- Navigate to the project directory:
cd your-repository
- Install the dependencies:
npm install
After cloning the repository and installing the dependencies, you need to configure the application to run locally.
- Create a
.env
file in the root directory of the project. - Add the following environment variables to the
.env
file:
MONGODB_URI=<your_mongodb_uri>
JWT_SECRET=<your_jwt_secret>
MONGODB_URI
should be the connection string to your MongoDB database.JWT_SECRET
should be a random string used for JWT token encryption.
To run the application locally, use the following command:
expo start
This will start the Expo development server and open the Expo DevTools in your browser. From there, you can choose to run the application on a physical device or an emulator.
The following API routes are available:
POST /api/auth/signup
: Create a new user account.POST /api/auth/login
: Log in to an existing user account.POST /api/auth/logout
: Log out the currently authenticated user.GET /api/notes
: Get a list of all notes for the authenticated user.- `POST