Talawa API
Talawa is a modular open source project to manage group activities of both non-profit organizations and businesses.
Core features include:
- Membership management
- Groups management
- Event registrations
- Recurring meetings
- Facilities registrations
talawa
is based on the original quito
code created by the Palisadoes Foundation as part of its annual Calico Challenge program. Calico provides paid summer internships for Jamaican university students to work on selected open source projects. They are mentored by software professionals and receive stipends based on the completion of predefined milestones. Calico was started in 2015. Visit The Palisadoes Foundation's website for more details on its origin and activities.
Talawa Components
talawa
has these major software components:
- talawa: A mobile application with social media features
- talawa-api: An API providing access to user data and features
- talawa-admin: A web based administrative portal
- talawa-docs: The online documentation website
Documentation
- The talawa documentation can be found here.
- Want to contribute? Look at CONTRIBUTING.md to get started.
Installation
Environment Variables
To run this api five environment variables need to be set in a .env file in the root of the api:
- ACCESS_TOKEN_SECRET
- REFRESH_TOKEN_SECRET
- MONGO_DB_URL
Please note when running the api using docker the MONGO_DB_URL is in the format of mongodb://${CONTAINER_NAME}:{PORT}/${DB_NAME}
Docker Development
Steps:
- docker-compose build
- docker-compose up
Local Development Prerequesites
Talawa API development prerequisites
Clone and change into the project
git clone https://github.com/PalisadoesFoundation/talawa-api.git
cd talawa-api
Install packages
npm install
To run the project in development mode, run the following command
npm run dev
For testing, run the following command
npm run test
Start developing!
Image Upload
To enable image upload functionalities create an images folder in the root of the project
Configuration with Frontend
View how to configure backend with the flutter app