Skip to content

Commit

Permalink
Updated information about the demo server
Browse files Browse the repository at this point in the history
  • Loading branch information
palisadoes committed Feb 13, 2025
1 parent 47fb886 commit 9e055d1
Show file tree
Hide file tree
Showing 14 changed files with 170 additions and 96 deletions.
28 changes: 22 additions & 6 deletions docs/design/ux/design_system.md → docs/design/design_system.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,25 @@
---
id: ux-design-system
title: Design System
sidebar_position: 3
---

This page provides details about the design files we use or have used to create the Talawa software product line.

## Talawa Mobile

The original mobile app design system can be found here

- ![DesignSystem](/img/design_system.png)

### Talawa Mobile - Figma Designs

We have had many Figma designs over the years. Here are some of them.

#### Current

The most current Figma Design as of December 2023

1. [Talawa Mobile Design - Current](https://www.figma.com/file/AVpVQ7Cm7jNNeMtNWi6hc4/End-of-GSoC-2023?type=design&node-id=0%3A1&mode=design&t=hMb1a77x2Y7OEcKG-1)

#### Legacy
Expand All @@ -24,41 +30,51 @@ These files are of historical value to the repository
1. [Talawa Mobile Design - Original](https://www.figma.com/file/GdvI0NPxsIAwQwZ7txfuTF/Talwa-case-study?type=design&node-id=0-1&mode=design)

## Talawa Admin

We follow a single Figma file for the designing of the Talawa admin and user portal. You can refer to the link below to suggest new designs and help maintain consistency in the look and feel for Talawa:

### Talawa Admin - Figma Designs

You can find our most current Figma designs here
1. [Link to Figma for Talawa Designs](https://www.figma.com/file/WksD4uIa5sQJMIk3pR4l0c/Talawa-Design-System-(Official)?type=design&node-id=307%3A212&mode=dev)

1. [Link to Figma for Talawa Designs](<https://www.figma.com/file/WksD4uIa5sQJMIk3pR4l0c/Talawa-Design-System-(Official)?type=design&node-id=307%3A212&mode=dev>)

## CSS Methodology
To ensure consistency across the application and reduce duplication, common styles
(such as button styles) have been moved to the global CSS file. Instead of using
component-specific classes (e.g., `.greenregbtnOrganizationFundCampaign`, `.greenregbtnPledge`), a single reusable
class (e.g., .addButton) is now applied.

To ensure consistency across the application and reduce duplication, common styles
(such as button styles) have been moved to the global CSS file. Instead of using
component-specific classes (e.g., `.greenregbtnOrganizationFundCampaign`, `.greenregbtnPledge`), a single reusable
class (e.g., .addButton) is now applied.

### Benefits:

- Reduces redundant CSS code.
- Improves maintainability by centralizing common styles.
- Ensures consistent styling across components.

### Components:

This structre of styling can be followed accross all the components/screens for consistent design.

#### Search Bar:

- (example: src/screens/OrganizationPeople.OrganizationPeopl.tsx)
- ![searchBarDesign](/img/markdown/ui-ux/searchBarDesign.png)

#### Modal:

- ![Modal](/img/markdown/ui-ux/modal.png)

#### Tabs:

- (example: src/screens/Volunteer.VolunteerManagement.tsx)
- ![Tabs](/img/markdown/ui-ux/tabs.png)

#### Table:

- (example: src/screens/OrganizationActionItems/OrganizationActionItems.tsx)
- ![Table](/img/markdown/ui-ux/table.png)

## Other
Feel free to contribute your suggestions!

Feel free to contribute your suggestions!
1 change: 1 addition & 0 deletions docs/design/talawa-branding.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
id: branding
title: Branding
sidebar_position: 1
---

Our brand uses the guidelines in this section to create a consistent user experience.
Expand Down
1 change: 1 addition & 0 deletions docs/design/ux/talawa.md → docs/design/talawa.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
id: ux-talawa
title: UI/UX Guidelines
sidebar_position: 2
---

## Introduction
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
id: contributing
title: Contributing
sidebar_position: 2
---

Each GitHub repository contains important files in their topmost, or root, directories that you should know about. These include:
Expand Down
55 changes: 55 additions & 0 deletions docs/developers/introduction/demo-site.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
id: demo-site
title: Demonstration Site
sidebar_position: 3
---

## Introduction

We have a demonstration site that can be accessed at this URL:

```
https://demo.talawa.io/
```

Login credentials can be found in the [INSTALLATION.md](https://github.com/PalisadoesFoundation/talawa-api/blob/develop/INSTALLATION.md#user-accounts-and-organizations) guide in the `develop` branch.

## System Setup

This is a summary of how the system is configured.

### App Configuration

The apps are configured to operate like this:

1. The API and Admin apps run on the server in Docker containers.
2. The API:
1. runs as the `talawa-api` user.
2. was originally configured using the setup script using default values in the `.env` file.
3. The Admin web app:
1. runs as the `talawa-admin` user.
2. was originally configured using the setup script using default values in the `.env` file except for these parameters:
```
REACT_APP_TALAWA_URL=https://demo.talawa.io:8443/graphql/
REACT_APP_BACKEND_WEBSOCKET_URL=ws://demo.talawa.io:8443/graphql/
```
### Server Configuration
The server is configured to operate like this:
2. There is an SSL certificate for demo.talawa.io
3. The server uses Apache as a frontend reverse proxy. The configuration:
1. Redirects demo.talawa.io port 80 traffic to port 443
2. Proxies port 443 to the Talawa-Admin port 4321
3. Proxies port 8443 to the Talawa-API port 4000
4. There is no default port 80 or 443 configurations
5. The configurations can be found in `/etc/apache2/sites-enabled`
6. Logs can be viewed in the `/var/log/apache2/` directory.
#### Server Cron Jobs
Daily cron jobs run to do the following:
1. Deploy the latest versions of the API and Admin `develop` code branches.
2. Reset the API database with the latest `develop` sample data.
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
---
id: technical-introduction
title: Technical Introduction
sidebar_position: 1
---

Talawa's high level design is simple. We cover the main components on this page before delving into the details later.

## Our Applications
Expand All @@ -19,7 +21,7 @@ The various Talawa GitHub repositories also use supporting technologies to help
1. Mongoose ORM
1. Python

More details can be found on each Talawa GitHub repository.
More details can be found on each Talawa GitHub repository.

## Our Architecture

Expand All @@ -37,9 +39,7 @@ We chose these core open source technologies for various reasons.
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Flutter | [Flutter](https://flutter.dev/) is an open source framework by Google for building beautiful, natively compiled, multi-platform applications from a single codebase. Flutter was chosen because it was backed by a large developer community and a significant corporate sponsor. |
| Typescript | [TypeScript](https://www.typescriptlang.org/) is a strongly typed programming language that builds on JavaScript, giving you better tooling at any scale. It's a popular language, and we felt support would be long-lasting. It's also open source like us! |
| MongoDB | [MongodDB](https://www.mongodb.com/) is a data platform that provides the services and tools necessary to build distributed applications fast, at the performance and scale users demand. It sounded just like what we needed. |
| PostgreSQL | [PostgreSQL](https://www.postgresql.org/) is a powerful, open source object-relational database system with over 35 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance. It sounded just like what we needed. |
| GraphQL | [GraphQL](https://graphql.org/) is a query language for APIs and a runtime for fulfilling those queries with our existing data. It provides a complete and understandable description of the data in our API, and allows our developers to make queries for for exactly what they need and nothing more. This makes it easier to evolve APIs over time. |

But if you want the short answer, we chose these technologies so that we wouldn't have to do it ourselves!


7 changes: 4 additions & 3 deletions docs/introduction/about.md → docs/getting-started/about.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: About Us
id: about
sidebar_position: 1
---

Talawa was created through the philanthropic work of the Palisadoes Foundation.
Expand All @@ -9,18 +10,18 @@ Talawa was created through the philanthropic work of the Palisadoes Foundation.

The Palisadoes Foundation’s open-source software projects help community groups organize their daily activities and more. A significant proportion of our software contributions come from university students studying software engineering. Participants often come from under-served communities or geographic areas and are sponsored through the various programs in which we participate. This prepares them for the competitive realities of the working world.

Life started for us in 2016 when a group of expatriate Jamaicans wanted to assist development of new and existing information technologies for the island’s social good. We knew academic and student leadership wanted greater practical exposure to the latest technology. Our team also saw parallel opportunities to increasing awareness of the island’s abilities in the global marketplace.
Life started for us in 2016 when a group of expatriate Jamaicans wanted to assist development of new and existing information technologies for the island’s social good. We knew academic and student leadership wanted greater practical exposure to the latest technology. Our team also saw parallel opportunities to increasing awareness of the island’s abilities in the global marketplace.

In response, our pilot Calico Challenge program for Jamaican universities was created with the goal of addressing the issues graduates would face when employed. Calico is modeled on the Google Summer of Code. In 2021 The Palisadoes Foundation was awarded participation in the Google Summer of Code in partial recognition of this success.

After five years of success, members of the Jamaican diaspora suggested we expand our service area to be global. They saw similar needs in their own under-served communities where the digital divide is very visible and thought our experience in the developing world would be useful.

Since 2018 we have focused on creating the Talawa mobile and web apps to help community organizations like ourselves better manage their membership. We first saw the need for a social media component to keep in contact with our volunteers. Later, we realized that these organizations often faced challenges with the project management of events and keeping track of volunteer abilities, roles and responsibilities.

We want to make Talawa useful for any community-based organization such as clubs, open source projects, neighborhood groups, non-profits, and volunteer associations.
We want to make Talawa useful for any community-based organization such as clubs, open source projects, neighborhood groups, non-profits, and volunteer associations.

There are many software applications that exist for these types of organizations but they assume their memberships are fully literate and have access to email. We wanted to create a system that would work for countries with similar technology and education challenges as Jamaica.

Eventually we want to launch Talawa as a hosted cloud service as many of these types of organizations don’t have sufficient IT skills to do so independently.
Eventually we want to launch Talawa as a hosted cloud service as many of these types of organizations don’t have sufficient IT skills to do so independently.

Welcome to Talawa!
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
id: core-concepts-legacy
title: Core Concepts (Legacy)
sidebar_position: 4
---

We have started migration from a MongoDB API database to PostgreSQL.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
id: core-concepts
title: Core Concepts
sidebar_position: 3
---

To use and contribute to Talawa effectively, you'll need to understand these important concepts.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
---
id: roadmap
title: Roadmap
sidebar_position: 5
---

## Introduction

Welcome to our roadmap ideas page! Get familiar with our definitions and general philosophy by reading this section. The ideas follow afterwards.
Expand All @@ -17,7 +19,7 @@ We have categorized the various ideas according to the degree of impact they wil

### Difficulty

Most of our project ideas require knowledge of two or more programming languages.
Most of our project ideas require knowledge of two or more programming languages.

1. **Hard:** Requires dominion of the language used by the repo most affected by the project. A good working knowledge of the languages used by other affected repositories will be needed.
1. **Medium:** A good working knowledge of the languages used by affected repositories will be needed.
Expand Down Expand Up @@ -92,6 +94,7 @@ There are some fundamental features that the Talawa suite of applications needs
1. We need an automated end-to-end testing regime for all three Talawa code repositories.
1. _Timeliness_: The changes will need to be done on a weekly basis. The rest of the community will need to be made aware of changes so that they can add functionality.
1. **Expected Outcomes:**

1. We have documented many other areas of potential improvements in the reference links below. After reviewing the videos there, we decided to create issues to rectify some of our concerns, but soon realized that this warrants a GSoC idea of its own as some solutions to the issues will require great coordination and time.
2. In addition to fixing the bugs above, consider any other ways of making the obviously desired functionality of Talawa and Talawa Admin work!
1. This document highlights many sites and videos to aid your research.
Expand Down
Loading

0 comments on commit 9e055d1

Please sign in to comment.