Noteracy is your all-in-one solution for seamless note-taking and organization. With Noteracy, we can:
- Create Notes : Capture your thoughts, ideas, and to-dos with ease.
- Update & Edit : Keep your notes up-to-date as your projects and tasks evolve.
- Delete Notes : Remove what's no longer relevant or needed.
- Search Functionality : Effortlessly find the notes you need with powerful search capabilities.
Google Account Integration : Sign in using your Google account for a smooth and secure experience.
- Authentication using : Passport.js
The website is hosted on cyclic.sh
2 Models :
- User: Stores everything about the user including displayName, firstName, lastName, profileImage, and createdAt.
- Notes: Stores a single note instance for a user and includes details like user, title, body, and createdAt.
Rest API :
- Express server with 3 routes:
- auth : Authentication route that checks if user already has an account in the platform. If not, it inserts a new user, using passportJS's passport-google-oauth20 strategy.
- dashboard : Handles all the requests after login for notes view etc.
- user : to confirm authentication status of user anytime.
Front-end was made using React.js with react-router for routing and react-helmet for custom head.
npm install
cd client | npm run build
MONGODB_URI = ''
GOOGLE_CLIENT_ID = ''
GOOGLE_CLIENT_SECRET = ''
GOOGLE_CALLBACK_URL = 'http://localhost:5000/google/callback'
Fill in these details from your MongoDB Atlas connection and Google OAuth credentials.
Set http://localhost:5000/google/callback
in redirect URI in google credential.
npm run dev
The application will now be accessible from http://localhost:5000
npm run start
Give a โญ๏ธ if this project helped you!