Our goal is to create an intelligent and user-friendly task manager that integrates scheduling, task prioritization, and accessibility features. The app will help you stay organized with the following things implemented:
- To-do lists and being able to add and edit tasks in a list
- A calendar with a monthly, weekly, and daily spread where the added tasks will show up
- The ability to import an existing Google Calendar
The repo contains both frontend and backend:
/frontend: React frontend app/backend: Node.js backend API (Express, MongoDB).env: Located inside/backenddirectory for local dev
npm run devRuns the development environment. This command is directory-specific (frontendorbackend).npm run frontendRuns the development environment for thefrontendin therootdirectorynpm run backendRuns the development environment for thebackendin therootdirectorynpm run lintRunsnpx eslint .andnpx prettier --check .for style consistencynpm run coverageRuns the testing environment with coverage reportnpm run cypress:openInteractive Mode (for development & debugging)npm run cypress:runHeadless Mode (for CI/CD or quick test runs)npm testRuns the jest testing environment (npx jest .)
- Clone the entire git repository
- Run
npm installin the root directory to get all the dependencies - Set up environment variables by creating the
.envfile in thebackendfolder
// ./backend/.env file example
MONGO_URI=your_mongo_uri_here
userDB=your_user_db_uri_here
tasksDB=your_tasks_db_uri_here
TOKEN_SECRET_KEY=your_token_secret
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
GOOGLE_REDIRECT_URI=http://localhost:8000/api/google-calendar/callback
SESSION_SECRET=your_session_secret
- Setup
.gitignorewith the following entries in therootfolder
//./.gitignore
node_modules/
.env
.env.*
- VSCode Extensions (Recommended)
- ESLint
- Prettier ESLint
- GituHb Actions (for workflow visualization, optional)
Team Working Assignment Document
-
We are using React/JavaScript. So we chose to install Prettier and added that to ESLint, to keep our code style consistent throughout our project.
-
can look at split screen by adding /SplitScreen to the end of the link



