CollaboRARE is a collaborative platform designed to facilitate the sharing and management of information about rare diseases. This repository contains the backend server code for the CollaboRARE project.
CollaboRARE is a web application that allows medical professionals and researchers to collaborate on identifying and managing key aspects of rare diseases. The server provides a RESTful API that supports various functionalities such as user authentication, disease management, and collaborative features.
- User authentication and authorization
- CRUD operations for rare diseases
- Support system for users
- Email notifications
- Integration with AI services for disease information generation
- Secure API key validation
- Node.js
- Express.js
- MongoDB with Mongoose
- JSON Web Tokens (JWT) for authentication
- Nodemailer for email services
- Azure Application Insights for monitoring
- OpenAI integration for content generation
- Clone the repository
- Install dependencies:
npm install
- Set up environment variables (see
config.js.sample
) - Run the server:
- For development:
npm run servedev
- For production:
npm start
- For development:
API documentation is available at /apidoc
when the server is running.
controllers/
: Contains logic for handling API requestsmodels/
: Defines MongoDB schemasroutes/
: Defines API routesservices/
: Contains utility services (email, authentication, etc.)middlewares/
: Custom middleware functionsviews/
: Email templates
- API key validation for sensitive routes
- JWT-based authentication
- Role-based access control
Please read our contributing guidelines before submitting pull requests.
This project is licensed under the MIT License.
For support, please email support@foundation29.org or use the in-app support feature.
- EURORDIS
- European Medicines Agency (EMA)
- Foundation 29
This server application works in conjunction with the CollaboRARE client. For more information about the client-side implementation, please visit:
The client provides the user interface and front-end functionality for the CollaboRARE platform.