- React: A JavaScript library for building user interfaces.
- TypeScript: A typed superset of JavaScript that compiles to plain JavaScript.
- Vite: A fast build tool and development server for modern web projects.
- Firebase: A platform developed by Google for creating mobile and web applications.
- Authentication: Used for anonymous user authentication.
- Realtime Database: Used for storing and retrieving code snippets.
- React Router: A collection of navigational components that compose declaratively with your application.
- CodeMirror: A versatile text editor implemented in JavaScript for the browser.
- React Toastify: A library for notifications in React applications.
- React Loader Spinner: A library for loading spinners in React applications.
- Create and share code snippets easily.
- Choose from various programming languages.
- Switch between light and dark themes.
- Copy shareable links to clipboard.
- Save and retrieve code snippets from Firebase.
- Node.js (v14 or higher)
- npm (v6 or higher)
-
Clone the repository:
git clone https://github.com/svetstoykov/NoteCode.git cd NoteCode
-
Install dependencies:
npm install
-
Set up Firebase:
- Create a Firebase project at Firebase Console.
- Enable Firebase Authentication (Anonymous).
- Create a Realtime Database.
- Obtain your Firebase configuration and add it to a
.env
file in the root of your project:
VITE_FIREBASE_API_KEY=your_api_key VITE_FIREBASE_AUTH_DOMAIN=your_auth_domain VITE_FIREBASE_DATABASE_URL=your_database_url VITE_FIREBASE_PROJECT_ID=your_project_id VITE_FIREBASE_STORAGE_BUCKET=your_storage_bucket VITE_FIREBASE_MESSAGING_SENDER_ID=your_messaging_sender_id VITE_FIREBASE_APP_ID=your_app_id
-
Run the development server:
npm run dev
-
Build for production:
npm run build
-
Preview the production build:
npm run serve
src/components
: Contains React components likeHeader
,Footer
, andMainPage
.src/services
: Contains service files likefirebase.ts
for Firebase operations.src/assets
: Contains static assets like images and logos.src/common
: Contains common constants and models.
This project is licensed under the MIT License. See the LICENSE file for details.