A comprehensive support and community system for people affected by cancer. This project provides a complete platform with user management, authentication, dashboard, and various support features.
SOS Cancer is a full-stack web application designed to support cancer patients, volunteers, and supporters. The platform offers a modern interface with secure authentication, user management, and various modules for different aspects of cancer support.
- RESTful API with comprehensive endpoints
- JWT-based authentication system
- User management and permissions
- Agenda/events management
- Health monitoring
- Data validation and security
- Modern responsive interface
- Component-based architecture
- Internationalization support
- Dashboard with multiple modules
- Form validation and user feedback
- Dark/light theme support
- Node.js (v18 or higher)
- npm or yarn package manager
cd backend
npm install
npm run start:devcd frontend
npm install
npm run dev- Frontend: http://localhost:5173
- Backend API: http://localhost:8000
- API Documentation: http://localhost:8000/docs
- User registration and login
- JWT token-based authentication
- Password security with bcrypt
- Protected routes and permissions
- Automatic token refresh
- Multiple user types (volunteer, patient, supporter)
- Profile management
- User permissions and roles
- Data validation and security
- Comprehensive overview
- Upcoming events
- Financial summaries
- Project statistics
- Quick actions
- Latest news
- Rate limiting
- CORS configuration
- Security headers
- Input validation and sanitization
- Password strength requirements
- NestJS framework
- TypeScript
- JWT authentication
- bcrypt for password hashing
- Class-validator for validation
- Swagger for API documentation
- React 18
- TypeScript
- Vite build tool
- React Router for navigation
- Tailwind CSS for styling
- React Hook Form for forms
- i18next for internationalization
soscancer/
├── backend/ # NestJS API
│ ├── src/
│ │ ├── auth/ # Authentication module
│ │ ├── users/ # User management
│ │ ├── agenda/ # Events management
│ │ ├── health/ # Health checks
│ │ └── common/ # Shared utilities
│ └── data/ # JSON data storage
├── frontend/ # React application
│ ├── src/
│ │ ├── pages/ # Application pages
│ │ ├── components/ # Reusable components
│ │ ├── modules/ # Feature modules
│ │ ├── hooks/ # Custom hooks
│ │ └── lib/ # Utilities and API
└── README.md
cd backend
npm run start:dev # Start development server
npm run build # Build for production
npm run start:prod # Start production server
npm run lint # Run linting
npm run test # Run testscd frontend
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
npm run lint # Run linting- Fork the repository
- Create a feature branch
- Make your changes
- Run tests and linting
- Submit a pull request
This project is licensed under the MIT License.
Grupo Pongaiense de Combate ao Câncer
- Email: [email protected]
- Website: [In development]
Developed with care to support people affected by cancer