Sync, Focus, Achieve Streamline teamwork and solo efforts to peak efficiency with our task organizer
A task management tool offering private and shared spaces for solo and collaborative work. It provides a structured approach to organizing tasks, with features for setting deadlines, tracking progress, task assignment, and tagging. Potentially includes a Pomodoro-inspired 'Tide Clock' for time tracking and focus enhancement.
We have implemented all basic and extra requirements. Here is the checklist:
- A Vue form with at least 4 fields (excluding login)
- Responsive design with usability at both desktop and mobile screen sizes
- Vue Router for navigation
- Video demonstrates usability in desktop and mobile modes
- Node.js backend with Express.js
- MongoDB database for storing non-trivial state
- REST API && Socket.IO-based server
- Authenticated users support
- Admin user role and RBAC for non-admin users, Basic && Premium 👑
- Load balanced backend with REST or GraphQL API, demonstrating no obvious dependency on global variables
- Concurrency handling for safe operations
- Scale-out Socket.IO server layer
- Multiple authenticated users
- Admin and non-admin user roles with role-based access control
- Video demo shows two different user roles logging in and significant features present for one role but absent for another
- Basic End-to-End (E2E) test suite demonstrating a basic user flow
- Video shows a command-line utility trying to hack into the app using
curl(unsuccessfully) - Video demonstrates concurrent use by at least two users working properly
- E2E test demonstrating a fail condition in CI/CD pipeline
- Correct use of Git commits (commit messages, structured history)
- GitLab CI/CD pipeline to build Docker images of the app
- CI/CD demonstrates enabling a feature change (such as wording on a page)
- Video demo shows CI/CD doing a Docker build and pushing to a registry
- Backend server exposes a GraphQL endpoint /api/graphql
- Frontend source code includes at least two calls to the GraphQL backend
userquickTask - Video demo demonstrates load balancing (scale-out backend is used)
- Codebase shows non-trivial changes over and above class-provided example code
- All team members speak for at least 10 seconds
- Video has a good explanation of key parts of the code
- Video has a good explanation of how concurrency is handled
- Video demo demonstrates concurrent use by at least two users working properly
- Video shows logs from separate backend servers demonstrating that load balancing is working (while doing REST)