Effortless Sticky Notes with Smart Alerts & Customization!
Report Bug
Β·
Request Feature
.
Contribute
.
Pull Requests
.
Report Security Issue
.
Fork the Project
Table of Contents
Scribly is a modern sticky note web app designed to enhance productivity and organization. With a sleek and intuitive interface, it allows users to effortlessly add, edit, delete, and organize notes.
- π Google Authentication β Sign in seamlessly with your Google account
- π Push Notifications β Get real-time alerts for reminders
- π Dark Mode β Switch effortlessly between light and dark themes
- π¨ Customizable Background β Personalize your workspace to match your style
- π±οΈ Drag & Drop β Organize your notes with a smooth drag-and-drop experience
- π Multiple Views β Choose between Table View and Card View for better organization
- π Advanced Sorting β Sort notes by title, content, creation date, or alert date for quick access
Built with cutting-edge technologies to deliver performance and reliability.
Get started quickly with these easy setup instructions.
Before setting up the project, ensure you have the following installed:
- Node.js β Download Node.js (LTS version recommended)
- PostgreSQL β Install and configure PostgreSQL for database management (Download PostgreSQL)
- npm or Yarn β Comes with Node.js; used to install project dependencies
- Git β Download Git to clone the repository
- Vercel Account β If deploying on Vercel, create a free account at Vercel
- Google Cloud Project β Set up a Google Cloud project for Google Authentication (Guide)
- React β No additional setup required, but familiarity with its API may be useful (Open Library API Docs)
Additionally, having a basic understanding of the following will be helpful:
- CSS β For styling and responsive design adjustments
Follow these steps to set up the project locally:
- Clone the Repository
git clone https://github.com/akash85246/Scribly.git cd Scribly - Install Dependencies
npm install
- Set Up Environment Variables
VITE_BASE_URL=<frontend-url> # Example: http://localhost:5174 VITE_BACKEND_URL=<backend-url> # Example: http://localhost:5001 VITE_PORT=<frontend-port> # Default: 5174 VITE_WEB_PUSH_PUBLIC_KEY=<your-web-push-public-key>
- Change git remote url to avoid accidental pushes to base project
git remote set-url origin github_username/repo_name git remote -v # confirm the changes - Run the Project
npm run dev
Once the project is running, you can use the following features:
-
Google Authentication
- Click the "Sign in with Google" button on the homepage.
- Sign in using your Google account to access your personalized dashboard.
-
Add Sticky Note
- Click the "New" button in the navigation bar.
- Enter the note details (title, content, and optional alert).
- Save your note, which will be displayed on the main page.
-
Edit Sticky Note
- Browse your existing notes on the homepage.
- Click on a note to edit its content.
- Alternatively, use the search bar to find a specific note quickly.
-
Add Alert
- Set a reminder for a note while creating or editing it.
- Receive push notifications when the alert time is reached.
-
Dark Mode
- Toggle between light and dark themes from the settings.
- Your preference is saved for a seamless experience.
-
Drag & Drop Sticky Notes
- Rearrange notes effortlessly by dragging them around.
- Organize your notes in a way that suits your workflow.
-
Change View
- Switch between Table View and Card View for better note management.
-
Sort Notes
- Sort notes based on title, content, creation date, and alert date.
-
Responsive Design
- Works flawlessly on both desktop and mobile devices.
- Database: Ensure that your PostgreSQL database is running and properly seeded with initial data if required.
- Deployment: The project can also be deployed to platforms like Vercel or Netlify for wider access.
- Customization: Modify the
.envfile for custom configurations such as port, Google credentials, or database URLs.
Here are the planned improvements and features for the project:
- Google Authentication for user login.
- Sticky note management (add, edit, delete notes).
- Push notifications for note alerts.
- Dark mode toggle for better accessibility.
- Drag & drop functionality for note organization.
- Sort notes by title, content, creation date, and alert date.
- Toggle between Table View and Card View.
- Responsive design for both desktop and mobile devices.
- Customizable themes for better personalization.
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
-
Fork the Project
- Click the "Fork" button at the top-right corner of this page to create a copy of the repository in your GitHub account.
-
Clone the Repository
- Clone your forked repository to your local machine:
git clone https://github.com/your-username/Scribly.git
- Clone your forked repository to your local machine:
-
Create Your Feature Branch
- Navigate to your project folder and create a new branch for your feature:
git checkout -b feature/AmazingFeature
- Navigate to your project folder and create a new branch for your feature:
-
Commit Your Changes
- After making the necessary changes, commit them:
git commit -m 'Add some AmazingFeature'
- After making the necessary changes, commit them:
-
Push to the Branch
- Push your changes to your forked repository:
git push origin feature/AmazingFeature
- Push your changes to your forked repository:
-
Open a Pull Request
- Go to the original repository (
akash85246/Scribly), and open a pull request to merge your feature branch into themainbranch. - Provide a brief description of the changes you've made and submit the pull request for review.
- Go to the original repository (
Akash Rajput - @akash_rajp91025 - akash.rajput.dev@gmail.com
Project Link: https://github.com/akash85246/Scribly
I would like to extend my gratitude to the following resources and individuals:
- Google Authentication β For enabling secure sign-in functionality.
- Vercel β For providing seamless deployment and hosting for the frontend.
- PostgreSQL β For offering a robust and scalable database solution.
- Node.js & Express.js β For powering the backend and handling API requests.
- React.js β For building a dynamic and interactive user interface.
- Redux β For managing application state efficiently.
- Web Push API β For enabling push notifications to alert users.
- Draggable.js β For implementing smooth drag-and-drop functionality.
- MDN & DevDocs β For providing excellent documentation and resources.
- Open Source Community β For their contributions to the tools and libraries that made Scribly possible.
- Friends & Peers β For feedback and testing that helped improve the project.
