Arise is a modern, real-time collaborative task management application that helps individuals and teams organize their daily tasks, collaborate in shared rooms, and track progress together.
- Create, edit, and delete personal tasks
- Mark tasks as complete/incomplete
- Track daily progress with visual progress bars
- Get motivational quotes to stay inspired
- Create private rooms for team collaboration
- Join existing rooms with unique room IDs
- Real-time chat functionality
- Shared task lists within rooms
- Live user presence tracking
- Room-based task progress tracking
- Individual and team rankings
- World ranking system based on task completion
- Points and leaderboards
- Crown badges for top performers
- Real-time score updates
- User registration and login
- JWT-based authentication
- Secure password encryption with bcrypt
- Protected routes and API endpoints
- Responsive design for all devices
- Beautiful particle effects
- Material-UI components
- Tailwind CSS styling
- Complex Gradient colors
- Motion animations
- React 18.3 - UI library
- Vite 7.3 - Build tool and dev server
- Redux Toolkit - State management
- React Router v6 - Client-side routing
- Socket.io Client - Real-time communication
- Material-UI (MUI) - Component library
- Tailwind CSS - Utility-first CSS
- Motion - Animations
- React Hot Toast - Notifications
- Node.js - Runtime environment
- Express.js - Web framework
- MongoDB - Database
- Mongoose - ODM for MongoDB
- Socket.io - WebSocket server
- JWT - Authentication tokens
- bcryptjs - Password hashing
- Zod - Schema validation
- CORS - Cross-origin resource sharing
Arise/
βββ client/ # Frontend React application
β βββ src/
β β βββ assets/ # Images, icons, and Lottie files
β β βββ context/ # React context providers (Socket)
β β βββ features/ # Feature-based modules
β β β βββ auth/ # Authentication (Login, Signup, Logout)
β β β βββ room/ # Room features (Chat, Todos, Cards)
β β β βββ todo/ # Personal todo management
β β βββ pages/ # App pages (Home, About, Contact, etc.)
β β βββ shared/ # Shared components and utilities
β β βββ components/
β β βββ hooks/
β β βββ utils/
β βββ public/ # Static assets
β
βββ server/ # Backend Node.js application
βββ controllers/ # Route controllers
βββ database/ # Database configuration
βββ middleware/ # Custom middleware (auth, validation)
βββ models/ # Mongoose schemas
βββ router/ # API routes
βββ validation/ # Zod validation schemas
- Node.js (v16 or higher)
- MongoDB (local or MongoDB Atlas)
- npm or yarn package manager
-
Clone the repository
git clone https://github.com/Its-sunny69/Arise cd arise -
Setup Backend
cd server npm installCreate a
.envfile in theserverdirectory:PORT=5000 MONGODB_URI=mongodb://localhost:27017/arise JWT_SECRET=your_jwt_secret_key_here
Start the server:
npm start OR npm start nodemon //to run with nodemon
-
Setup Frontend
cd ../client npm installCreate a
.envfile in theclientdirectory:VITE_SERVER_URL=http://localhost:5000
Start the development server:
npm run dev
-
Access the application
- Frontend:
http://localhost:5173 - Backend API:
http://localhost:5000
- Frontend:
npm run dev- Start development server with hot reloadnpm run build- Build for productionnpm run preview- Preview production buildnpm run lint- Run ESLint
npm start- Start server with nodemon (auto-restart)
PORT=5000
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_secret_keyVITE_SERVER_URL=http://localhost:5000POST /api/auth/register- Register new userPOST /api/auth/login- User loginGET /api/auth/user- Get authenticated user
GET /api/todos/todo/get/:userId- Get user's todosPOST /api/todos/todo/create- Create new todoPATCH /api/todos/todo/update- Update todoPATCH /api/todos/todo/checkBoxUpdate- Toggle todo completionDELETE /api/todos/todo/deleteTodo- Delete todo
GET /api/rooms/:createdBy- Get rooms created by a userGET /api/rooms/join/:userJoined- Get rooms a user has joinedDELETE /api/rooms/:roomId- Delete room
Room creation is handled through the Socket.io create-room event, and room deletion is also mirrored through the delete-room event.
GET /api/todos/roomtodo/get/:roomId- Get room todosPOST /api/todos/roomtodo/create- Create room todoPATCH /api/todos/roomtodo/update- Update room todoPATCH /api/todos/roomtodo/checkBoxUpdate- Toggle room todo completion stateDELETE /api/todos/roomtodo/deleteTodo- Delete room todoPATCH /api/todos/roomtodo/completedUpdate- Mark a room todo list as completed for a user
create-room- Create a new roomjoin-room- Join an existing roomleave-room- Leave a roomsend-msg- Send chat messagetodo- Update todosupdateCheckbox- Update todo checkboxprogress- Update user progress
room-update- Room data updatedupdate-users- Users list updatedupdated-msg- New message receivedaddTodo- Todo added/updatedupdateTodo- Todo checkbox updatedroom-progress- Progress updatedpointsSocket- Rankings updated
For questions or suggestions, please reach out:
- Email: dynamosdev0@gmail.com
- GitHub Issues: Project Issues
Built with β€οΈ using MERN Stack
