项目作者: Iconicto

项目描述 :
Recyclomedia is a digital platform that aims to save the planet from pollution which is the major threat to the functioning of earth.
高级语言: Dart
项目地址: git://github.com/Iconicto/recyclomedia.git
创建时间: 2020-06-27T04:59:32Z
项目社区:https://github.com/Iconicto/recyclomedia

开源协议:MIT License

下载


Recyclomedia

Backend CI/CD Pipeline

Recyclopedia is a vintage inspired digital platform that aims to save the planet from the pollution which is the major threat to the functioning of earth. Through this platform, we are creating an energetic community that aims to combat the world from pollution. The key features of our platform are,

1) The platform allows its users to engage in events related to preventing pollution in the world. Events like beach clean up, community gathering, and workshops are notified under the events section.
2) The users are allowed to donate to our body, to help us host events.
3) A gamification system is incorporated n the system to encourage the participation of the user in our platform. The users will get a tokens of appreciation related to their hierarchy in the levels of contribution.

System Architecture

system-architecture

UI Mockups

Splash Screen Sign-Up Sign-In Home Page
Splash screen sign-up screen sign-in screen welcome screen
My-Profile Settings About-us Donate to a cause
my-profile screen settings screen about-us screen donation screen

Figma Design files - https://www.figma.com/file/nSi5UHKdvqL2kS1OrRumID/Recyclomedia

Demo

Demo UI

Backend

Recyclomedia backend is made using django rest framework and backed by postgress database. You can find full API documentation made with postman below. Also Django Rest’s API explorer view can be accesed from recyclomedia.iconicto.com/api.

Backend Features

  • Protected routes
    • Post made by user X can’t be modified/deleted by user Y
    • Sepreate web based dashboard for organizations manage events that are hosted by them
      1. - Event created by organization A can't be modified/deleted by organization B
  • Role Based access control
  • Static contains are delivered by custom CDN (cdn.iconicto.com)
  • End to End TLS
  • Horizontal and Vertical scaling (thanks Kubernetes)

Admin’s View vs Org Admins View

Dashboard

Dashboard

Event Page

Event Page

API documentation

documenter.getpostman.com/view/6342371/T17AkB4T?version=latest

API Routes

User

Get Users

  1. GET /api/users/ HTTP/1.1
  2. Host: recyclomedia.iconicto.com

Get User Info

  1. GET /api/users/me/ HTTP/1.1
  2. Host: recyclomedia.iconicto.com

Create User

  1. POST /api/users/ HTTP/1.1
  2. Host: recyclomedia.iconicto.com

Update User

  1. PATCH /api/users/ HTTP/1.1
  2. Host: recyclomedia.iconicto.com

Posts

Get Posts

  1. GET /api/users/ HTTP/1.1
  2. Host: recyclomedia.iconicto.com

Create Post

  1. POST /api/posts/ HTTP/1.1
  2. Host: recyclomedia.iconicto.com

Update Post

  1. PATCH /api/posts/<POSTID>/ HTTP/1.1
  2. Host: recyclomedia.iconicto.com

Delete Post

  1. DELETE /api/posts/<POSTID>/ HTTP/1.1
  2. Host: recyclomedia.iconicto.com

Events

Get Events

  1. GET /api/events/ HTTP/1.1
  2. Host: recyclomedia.iconicto.com

Organizations

Get Organizations

  1. GET /api/organizations/ HTTP/1.1
  2. Host: recyclomedia.iconicto.com

Badges

Get Badges

  1. GET /api/badges/ HTTP/1.1
  2. Host: recyclomedia.iconicto.com

Team