Giter Site home page Giter Site logo

igniters's Introduction

Igniters

The App

Description

A repository of women's rights organizations, Igniters is a power tool for women around the world! ๐Ÿ’ช Users can search and review organizations, save useful resources, and create a page for their own organization.

User Stories

  • 404: As an anon/user I can see a 404 page if I try to reach a page that does not exist so that I know it's my fault
  • Signup: As an anon I can sign up in the platform so that I can start saving, reviewing and creating organizations.
  • Login: As a user I can login to the platform so that I can see my saved, review, edit and create organizations
  • Logout: As a user I can logout from the platform so no one else can use it
  • Add organizations: As a user I can add an organization so that I can share it with the community
  • Search Organizations: As a user I can search for organizations by name, language, service or location
  • List all organizations: As a user I can see a list of all organizations
  • Add to favorites: As a user I want to add an organization as a resource
  • See resources: As a user I want to see my saved organizations

Items accomlished from Backlog

  • Geo location: See organizations in a map
  • About page

Backlog

  • Upload with scroll
  • Chat form

Client/Frontend

React Router Routes (React App)

Path Component Permissions Behavior
/ Navbar, Home, Footer public <Route> Home page, links to signin and signup
/auth/signup Navbar, SignupPage, Footer public <Route> Signup form, link to login, navigate to question form after signup
/auth/login Navbar, LoginPage, Footer public <AnonRoute> Login form, link to signup, navigate to profile after login
/logout n/a user only <PrivateRoute> Navigate to homepage after logout, expire session
/profile NavBar, UserDetails, Footer user only <PrivateRoute> Shows some info about user and shows his projects
/profile/edit NavBar, ProfileEditForm, Footer user only <PrivateRoute> Edit profile details
/search-orgs NavBar, OrgList, Footer public <PrivateRoute> Shows all organization
/orgs/create NavBar, AddOrganization, Footer user only <PrivateRoute> Create your own organization
/org/:id Navbar, OrgDetail, AddReview, Footer user only <PrivateRoute> Render a single organization
/org/:id/edit Navbar, OrgEdit, Footer owner only <PrivateRoute> Edit and delete your organization
/search-orgs/q=? Navbar, SearchResults, Footer owner only <PrivateRoute> Search organizations

Pages

  • About Us
  • Home Page (anon/user)
  • Sign Up (anon only)
  • Log In (anon only)
  • Organizations List (anon/user)
  • Organization Details (user only)
  • Organizations Near User (user only)
  • Add Organization (user only)
  • Edit Organization (owner only)
  • Organization Detail (user only)
  • Profile (user only)
  • Edit Profile (user only)
  • My Organizations (user only)
  • Search (anon/user)
  • 404 Page (user)

Components

  • AddReview
  • AllOrganizationsMap
  • AnonRoute
  • EditReviewCard
  • Footer
  • Google Button
  • My Created Organizations
  • My Saved Organizations
  • Navbar
  • Navbar Anon
  • Navbar Private
  • Organization Cards (search and list all)
  • Organization Details Map
  • Organizations Near User Map
  • Private Route
  • Scroll To Top
  • Review card
  • ScrollToTop

Services

  • Auth Service
  • Localisation: Mabox API
  • Search Service
  • React Google LogIn

Server

Models

{
    name: {
      type: String,
      required: true,
    }, //required
    country: {
      type: String,
      required: true,
    }, //required
    city: {
      type: String,
      required: true,
    }, //required
    street: {
      type: String,
    }, //not required
    email: {
      type: String,
      required: true,
    }, //required
    categories: {
      type: [String],
    }, //not required
    mainIdiom: {
      type: String,
    }, //not required
    description: {
      type: String,
    }, //not required
    url: {
      type: String,
    }, //not required
    creator: {
      type: Schema.Types.ObjectId,
      ref: "User",
    },
    reviews: [
      {
        type: Schema.Types.ObjectId,
        ref: "Review",
        default: [],
      },
    ],
    geometry: {
      type: {
        type: String,
        enum: ["Point"],
        required: true,
      },
      coordinates: {
        type: [Number],
        required: true,
      },
    },
  }

review model(schema)

{
  review: {
    type: String,
    required: false,
    maxlength: 500
  },
  rating: {
    type: Number,
  },
  reviewer: {
    type: Schema.Types.ObjectId,
    ref: "User",
  },
}, {
  timestamps: true
}

User model(schema)

{
  email: {
    type: String,
    required: true,
  },
  password: {
    type: String,
    required: true,
  },
  name: {
    type: String,
    required: true,
    unique: true,
  },
  country: {
    type: String,
    default: "unknown",
  },
  savedOrganizations: [{
    type: Schema.Types.ObjectId,
    ref: "Organization",
    default: [],
  }, ],
  username: {
    type: String,
  }
}

Links

Wireframes

Whimsical

Trello

Trello

Git

Github

Deploy Link

The App (currently not working)

Slides Link

Slides

Team

Ana Martins, Monika Geiger, Osvaldo Picazo, Flavian Albert

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.