https://opus-live.netlify.app/
Opus is a productivity website, built using the MERN stack. It provides a one-stop solution for users to enhance their organizing capabilties by scheduling their upcoming events in calendars, jotting down their tasks and notes, and using a timer to break down work durations into short yet effective time periods for the best results.
- Users can create an account to access the features available.
- The events page allows access to a calendar for marking important dates with events and other commitments.
- The notes page can be used to jot down quick notes by providing an apt title and description. Users can update and delete their notes as well.
- The todos page is helpful in maintaining tasks or one-liners, and these can be updated and deleted as per the user's convenience.
- A Pomodoro timer is available for the users to manage time in small blocks. Timer settings can be used to set the desired work and break durations.
- Randomized inspiring quotes are generated on the profile page every time the user lands on it.
- Auth Routes
- /signup
- Account credentials are securely authenticated and stored in the database.
- /login
- Only valid credentials are accepted at login.
- JWT token is used for verification.
- /getUser
- Details of the user currently logged in are obtained.
- API Routes
-
Notes
- /createNote
- Creates and adds a note to the database.
- /getNotes
- Fetches all the notes of the currently logged in user.
- /getNote
- Fetches a particular note.
- /updateNote
- Updates a note in the database.
- /deleteNote
- Deletes a note from the database.
- /createNote
-
Todos
- /createTodo
- Creates and adds a todo to the database.
- /getTodos
- Fetches all the todos of the currently logged in user.
- /getTodo
- Fetches a particular todo.
- /updateTodo
- Updates a todo in the database.
- /deleteTodo
- Deletes a todo from the database.
- /createTodo
-
Events
- /createEvent
- Creates and adds an event to the database.
- /getEvents
- Fetches all the events of the currently logged in user.
- /createEvent
- React.js
- Express.js
- Node.js
- MongoDB
- JWT
- Bcrypt
- Fork the repository
- Clone the repository
git clone https://github.com/disha9112/Opus.git
- Open the folder containing the cloned repository in the terminal
- Navigate to the server folder in a new terminal and install the npm packages and libraries
cd server
npm install
- Set up a .env file (check the .example.env file) with custom keys and run the server
npm run dev
- Navigate to the client folder in a new terminal and install the packages and libraries
cd client
npm install
- Run the client side of the website
npm start