A web application for medical residents to track and manage their daily activities, procedures, and learning experiences.
- User authentication and authorization
- Activity logging with rich text editor (TinyMCE)
- Activity categorization (Out Patients, In Patients, Procedures, etc.)
- Activity filtering and search
- Dashboard with activity statistics
- Mobile responsive design
- React with TypeScript
- Material-UI for UI components
- Redux Toolkit for state management
- React Router for navigation
- TinyMCE (via jsDelivr CDN) for rich text editing
- Axios for API requests
- Node.js with Express
- MongoDB with Mongoose
- JWT for authentication
- Express Validator for input validation
- Node.js (v14 or higher)
- MongoDB (v4.4 or higher)
- npm or yarn package manager
- Clone the repository:
git clone [repository-url]
cd e-logbook- Install server dependencies:
cd server
npm install- Create a
.envfile in the server directory with the following content:
NODE_ENV=development
PORT=5000
MONGODB_URI=mongodb://localhost:27017/e-logbook
JWT_SECRET=your-super-secret-jwt-key-change-in-production
JWT_EXPIRE=7d
- Install client dependencies:
cd ../client
npm install- Start the MongoDB server:
mongod- Start the backend server (in the server directory):
npm run dev- Start the frontend development server (in the client directory):
npm run devThe application will be available at:
- Frontend: http://localhost:3000
- Backend API: http://localhost:5000
- POST
/api/auth/register- Register a new user - POST
/api/auth/login- Login user - GET
/api/auth/me- Get current user
- GET
/api/activities- Get all activities (with pagination and filters) - POST
/api/activities- Create new activity - GET
/api/activities/:id- Get single activity - PUT
/api/activities/:id- Update activity - DELETE
/api/activities/:id- Delete activity - GET
/api/activities/stats- Get activity statistics
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the ISC License.