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 …