Pillsense is a smart medication management system designed to help users manage their medication schedules efficiently. The system includes features for user registration, medication dispensers, real-time notifications, and more.
- User Registration and Authentication: Secure user registration and login.
- Medication Dispensers: Manage multiple dispensers with slots for different medications.
- Real-Time Notifications: Get notified when it's time to take your medication.
- Recommendations: Receive medication recommendations based on user history.
- Role-Based Access Control: Different roles for admin, doctors, and patients.
- Data Visualization: Visualize medication adherence and other statistics.
- Offline Support: Access the application even without an internet connection.
- Progressive Web App (PWA): Install the app on your device for a native-like experience.
- Node.js
- MongoDB
- Redis (for caching)
- Kafka (for real-time notifications)
-
Fork and Clone the repository:
git clone https://github.com/yourusername/pillsense.git cd pillsense/backend
-
Install dependencies:
npm install
-
Set up environment variables:
cp .env.example .env # Edit .env to match your configuration
-
Start the server:
npm start
-
Navigate to the frontend directory:
cd ../frontend
-
Install dependencies:
npm install
-
Start the development server:
npm start
- Open your browser and navigate to
http://localhost:3000
. - Register a new user or log in with existing credentials.
- Manage your medication dispensers, set intervals, and receive notifications.
POST /api/auth/register
: Register a new user.POST /api/auth/login
: Log in an existing user.
GET /api/dispensers
: Get all dispensers.POST /api/dispensers
: Create a new dispenser.PUT /api/dispensers/:id
: Update a dispenser.DELETE /api/dispensers/:id
: Delete a dispenser.
POST /api/recommend
: Get medication recommendations.
- Frontend: React, Redux, Axios, Socket.IO, Chart.js
- Backend: Node.js, Express, MongoDB, Mongoose, Redis, Kafka
- Authentication: JWT, bcrypt
- DevOps: Docker, GitHub Actions
We welcome contributions! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature-name
). - Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature/your-feature-name
). - Create a new Pull Request.
This project is licensed under the MIT License. See the LICENSE file for details.