A comprehensive community management platform that empowers residential communities with AI-driven support and seamless issue management. Built with modern web technologies, SheBuilds provides a professional solution for managing community issues, announcements, events, and resident communication.
- Issue Reporting: Easy-to-use interface for reporting maintenance, security, and other community issues
- Issue Tracking: Real-time status updates and progress tracking for submitted issues
- Community Hub: Access to announcements, events, and community updates
- Profile Management: Personal settings, notification preferences, and account management
- Mobile Responsive: Works seamlessly on all devices
- Dashboard Analytics: Comprehensive insights into community issues and performance metrics
- Issue Management: Advanced filtering, status updates, and assignment capabilities
- Resident Management: Complete resident database with status tracking and communication tools
- Announcement System: Create and manage community-wide announcements
- Event Management: Organize and track community events
- Reporting: Generate detailed reports and analytics
- Real-time Notifications: Instant updates for issue status changes and announcements
- Multi-role Authentication: Secure login system for residents and administrators
- Advanced Analytics: Data-driven insights for community improvement
- Responsive Design: Modern, accessible interface that works on all devices
- Security: Enterprise-grade security with JWT authentication
- Next.js 13+: React framework with App Router
- TypeScript: Type-safe development
- Tailwind CSS: Utility-first CSS framework
- React Hooks: Modern state management
- Responsive Design: Mobile-first approach
- Node.js: JavaScript runtime
- Express.js: Web application framework
- MongoDB: NoSQL database with Mongoose ODM
- JWT: JSON Web Token authentication
- bcryptjs: Password hashing
- CORS: Cross-origin resource sharing
SheBulds/
├── backend/
│ ├── src/
│ │ ├── controllers/
│ │ │ ├── authController.js
│ │ │ └── issueController.js
│ │ ├── middleware/
│ │ │ └── auth.js
│ │ ├── models/
│ │ │ ├── User.js
│ │ │ ├── Issue.js
│ │ │ ├── Notification.js
│ │ │ ├── Announcement.js
│ │ │ └── Event.js
│ │ ├── routes/
│ │ │ ├── authRoutes.js
│ │ │ └── issueRoutes.js
│ │ ├── app.js
│ │ └── server.js
│ ├── package.json
│ └── readme
├── frontend/
│ ├── components/
│ │ └── Navbar.tsx
│ ├── pages/
│ │ ├── admin/
│ │ │ ├── dashboard.tsx
│ │ │ ├── analytics.tsx
│ │ │ ├── residents.tsx
│ │ │ ├── login.tsx
│ │ │ └── signup.tsx
│ │ ├── resident/
│ │ │ ├── dashboard.tsx
│ │ │ ├── community.tsx
│ │ │ ├── login.tsx
│ │ │ └── signup.tsx
│ │ ├── profile.tsx
│ │ ├── about.tsx
│ │ ├── contact.tsx
│ │ └── index.tsx
│ ├── utils/
│ │ └── api.ts
│ ├── styles/
│ │ └── globals.css
│ └── package.json
└── README.md
- Node.js (v16 or higher)
- MongoDB (local or cloud instance)
- npm or yarn
-
Navigate to backend directory:
cd backend -
Install dependencies:
npm install
-
Environment Configuration: Create a
.envfile in the backend directory:MONGO_URI=mongodb://localhost:27017/shebuilds JWT_SECRET=your_jwt_secret_here PORT=5000 NODE_ENV=development
-
Start the server:
npm start
-
Navigate to frontend directory:
cd frontend -
Install dependencies:
npm install
-
Environment Configuration: Create a
.env.localfile in the frontend directory:NEXT_PUBLIC_BACKEND_URL=http://localhost:5000
-
Start the development server:
npm run dev
- Residents can report issues with categories (maintenance, security, noise, etc.)
- Admins can update status, assign tasks, and add notes
- Real-time tracking of issue progress
- Priority levels (low, medium, high, urgent)
- Issue statistics and trends
- Category breakdown charts
- Monthly trends visualization
- Performance metrics (resolution rate, response time)
- Top residents by issue count
- Announcements: Admin-created community updates
- Events: Community event management with RSVP
- Member Directory: Resident profiles and communication
- Notifications: Real-time updates and alerts
- Complete resident database with status tracking
- Search and filter capabilities
- Status management (active, inactive, suspended)
- Communication tools for admins
- Personal information management
- Notification preferences (email, push, SMS)
- Security settings (password change, account deletion)
- Theme and language preferences
- Resident: Can report issues, view announcements, participate in events
- Admin: Full access to all features including analytics and resident management
- JWT-based authentication with secure token storage
- Password hashing using bcryptjs
- Role-based access control (RBAC)
- Input validation and sanitization
- CORS protection for API endpoints
- Basic information (name, email, password)
- Role-based access (resident/admin)
- Account status and preferences
- Issue details (title, description, category)
- Status tracking (pending, in-progress, resolved, rejected)
- Priority levels and assignment
- Admin notes and resolution tracking
- Real-time notifications for users
- Different types (issue updates, announcements, events)
- Priority levels and expiration dates
- Community-wide announcements
- Target audience filtering
- Attachment support and read tracking
- Community event management
- RSVP functionality
- Recurring event support
- Consistent color scheme (Indigo primary, Orange for admin)
- Modern typography with clear hierarchy
- Responsive grid system for all screen sizes
- Interactive elements with hover states and transitions
- Intuitive navigation with role-based menus
- Loading states and error handling
- Form validation with helpful error messages
- Accessibility features (ARIA labels, keyboard navigation)
- Set up MongoDB database (local or cloud)
- Configure environment variables
- Deploy to your preferred hosting service (Heroku, AWS, etc.)
- Build the application:
npm run build - Deploy to Vercel, Netlify, or your preferred hosting service
- Configure environment variables for production
POST /api/auth/register- User registrationPOST /api/auth/login- User login
GET /api/issues- Get all issues (admin)POST /api/issues- Create new issue (resident)GET /api/issues/my-issues- Get user's issues (resident)PUT /api/issues/:id- Update issue status (admin)GET /api/issues/stats- Get issue statistics (admin)
GET /api/health- Server status
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Commit your changes:
git commit -am 'Add feature' - Push to the branch:
git push origin feature-name - Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
For support and questions:
- Email: hello@shebuilds.com
- Phone: +1 (555) 123-4567
- Documentation: [Link to documentation]
- Built with Next.js and Express.js
- Styled with Tailwind CSS
- Icons from Heroicons
- Community-driven development approach
SheBuilds - Empowering communities through technology and innovation.