Skip to content
Edson Francisco
  • Communities & information

C-Yanga

An app for churches to share events, services and notices — I wrote the whole API.

Period
2020–2021
Status
Archived
Role
Author of the Laravel API; the mobile app is the team's
Client
EQUIP Moçambique

Problem

Churches share schedules, events and notices in scattered ways, on paper and in message groups. Some members don't have a smartphone.

Solution

I wrote the API behind the team's Ionic app, created during #HACK2020: churches, activities, useful links and service times, with social login and token authentication. Each resource has a field for SMS delivery, prepared for people without internet.

Technical decisions

  1. 01

    Switching from Passport to Sanctum

    Midway I moved to Sanctum: simpler personal tokens were enough for a mobile app.

  2. 02

    Social login with Socialite

    Redirect/callback routes per provider, matching the app's Google sign-in.

  3. 03

    UUIDs to identify churches

    Each church has a random key so it can be shared without exposing sequential IDs.

  4. 04

    SMS prepared but deferred

    The `sms` field exists in the models and the Twilio integration was ready to switch on — I deferred SMS costs until there was real usage.

Images

No publishable screens: the system needs real data to run or is no longer online.

Technologies

  • Laravel
  • PHP
  • MySQL
  • Docker
  • Ionic
  • Angular
  • Azure DevOps

What I learned

My first complete Laravel API with token auth and social OAuth, built as a team with PRs on Azure DevOps.