Logo Lanfrica

Fifth-Order-Ignorant/Baobab

Domaine:

socioeconomic

Type de record:

software
Créateur:
Fif
Hôte:
A social-media platform for entrepreneurs and mentors in the African Impact Challenge. # Baobab ## Description The African Impact Challenge is a non-profit investing in aspiring young African entrepreneurs. Participants work on building market innovations that tackle their country’s challenges with technology. The motivation of this project is to provide a user-friendly community and e-learning platform for the moderators and participants of the challenge. ### Features - Individual and organization profiles. - Discussion board for networking. - Direct text messaging. - Learning materials and deliverables hosting. - Real time conferencing. ## Installation ### Requirements - Node.js 16.2.0 (npm 7.13.0) - MongoDB Community Server 4.4.6 - Redis 6.2 ### Git (Windows) Due to a limitation with the NestJS CLI Plugin, we were forced to use Git symlinks to link common types to the backend package. Git symlinks work fine without any setup macOS and Linux but may require the setup below on Windows. 1. Run `git config --global core.symlinks true`. 2. Enable developer mode (Settings App → Update & Security → For developers → Developer Mode) or run Git as administrator when working with the repository. After setting up the above requirements, clone the repository and run `npm install --legacy-peer-deps` (argument needed due to Storybook issue) to download the libraries this project relies on followed by `npm run build --workspace=common` to build code shared between the frontend and backend of the project. To run the backend locally, set up a MongoDB server on the default port using the official documentation then execute `npm run start --workspace=server`. To access the backend documentation, visit `localhost:3001/docs`. To run the frontend locally, execute `npm run dev --workspace=client`. To access the frontend documentation, execute `npm run storybook --workspace=client`. ## Deployment TBD ## Contributing ### Repository Structure This project uses npm workspaces to separate code and prevent issues such as unintentional depe …