A simple note-taking web application built with React, TypeScript, and Vite. Users can create, edit, and manage notes with authentication (including Google OAuth), multi-language support, and a responsive UI. Can work with Notes Server from my repos.
- User authentication (username/email & password, Google OAuth)
- Create, edit, and delete notes
- Auto-save drafts for unsaved note changes
- Responsive design for desktop and mobile
- Multi-language support (English, Russian)
- Light and dark theme switching
- User profile management (update name, username, password)
- Error and loading state handling
- Frontend: React 19, TypeScript, Vite
- Routing: React Router DOM v7
- State Management: React Context API, React Hooks
- Styling: CSS Modules
- Internationalization: i18next, react-i18next
- API: RESTful endpoints (see
.envfor server config)
- Environment Variables:
- See
.env.examplefor API endpoints and Google OAuth configuration. - Create
.envfile and copy.env.exampleinto it. - See [https://console.cloud.google.com/apis/credentials] and create your own.
Then change user id in
.env
- See
- API Server:
- The app expects a backend server running at the endpoint specified in
.env. - Or download Notes Server from my repos.
- The app expects a backend server running at the endpoint specified in
- Themes & Languages:
Changeable via the settings menu in the app UI.
-
Clone the repository:
git clone https://github.com/Shan0102/Notes-React.git cd React_app_notes -
Install dependencies:
npm install
-
Set up environment variables:
- Edit the
.envfile if needed (default values provided).
- Edit the
-
Start the development server:
npm run dev
- Open http://localhost:5173 in your browser.
- Sign up or log in to start creating and managing notes.
- Use the navigation bar to access notes, settings, and user profile.
- Switch language and theme from the settings menu.
This project is licensed under the MIT License.
For questions or feedback, please contact [shandev01@proton.me].