Red-Cross blood donation platform for Ukraine
- Admin user, Red cross user, Anonymous user - please check user roles section for detailed description;
- CapRover platform - platform to deploy and manage staging environment, please check environment section for detailed description;
- Strapi CMS - headless content management system that includes a back-end instance (Strapi back-end) with a GraphQL interface and a Strapi dashboard web-app as a User Interface for creating the content structure and the content itself.
- User web-app - the main user interface of the project for the end user. Using this interface, the end user has access to a list of blood donation centers, news, and background information.
- API Server - the main application server for servicing requests from the User web-app.
- DB PostgreSQL - database for storing content - blood donation centers, news and additional reference information.
- Repository. We will use the monorepo approach to organize the code base.
- Repository. We will use GitHub as a cloud-based Git repository hosting service. Please check RC-UA repository for details.
- Back-end. We will use Python as the programming language.
- Back-end. We will use FastAPI as a web framework.
- Back-end. We will use GraphQL as an API interface and Strawberry GraphQL.
- DB. We will use PostgreSQL as a database server.
- Content management. We will use Strapi for content management - an open-source, Node.js based, Headless CMS.
- Front-end. We will use React as a framework to build user web-interface.
- Front-end. We will use TypeScript as the programming language.
- DevOps. We will use CapRover to deploy and manage platform.