Skip to content
/ Gira Public

A fullstack website created for a multi-university college club where users can publish articles and events with images and videos, send massive emails to mailing lists, and accept donations.

Notifications You must be signed in to change notification settings

empobla/Gira

Repository files navigation

Portfolio LinkedIn


Logo

Gira

Gira is a fullstack website created for a multi-university college club where users can publish articles and events with images and videos, send massive emails to mailing lists, and accept donations.

· View Demo ·

Table of Contents
  1. About The Project
  2. Getting Started
  3. Roadmap
  4. Abilities Mastered
  5. License
  6. Contact
  7. Acknowledgments

About The Project

Gira Screen Shot

Gira is a fullstack website created for a college club that exists in several universities in Mexico. In this website, users can publish articles with images, create events with images and videos, send massive emails to mailing lists, accept donations through PayPal's API, and register for events that this club holds. In addition, users can view posted classes and courses made available by Gira's administrative team.

(back to top)

Built With

MongoDB Express Pug Node AWS

(back to top)

Getting Started

To get a local copy up and running follow these simple example steps.

Prerequisites

This project requires Node.js, MongoDB, and several AWS Services. A MongoDB server must be set up locally or in the cloud before using this project, and an AWS IAM account must be setup in AWS with access keys and permissions to use AWS SES and AWS S3.

  • Install npm:
    npm install npm@latest -g
  • Install MongoDB Community Server or set up MongoDB Atlas. Instructions for MongoDB Community Server can be found here.
  • Setup an AWS IAM account with access keys and permissions to use AWS SES and AWS S3. Instructions can be found here.

Installation

  1. Clone the repo
    git clone https://github.com/empobla/Gira.git
  2. Install NPM packages
    npm install
  3. In the project's directory, create a .env file with the following keys:
DB=<MONGODB_URI>

SECRET=<CREATE_A_SECRET>
EMAIL_SECRET=<CREATE_A_SECRET>

AWS_ACCESS_KEY_ID=<IAM_ACCESS_KEY_ID>
AWS_ACCESS_KEY_SECRET=<IAM_SECRET_KEY>
AWS_S3_BUCKET_NAME=<S3_BUCKET_NAME>

Note: Replace everything in between <> with your actual keys, and create a secret and email secret key.

  1. Start the server in development mode!
npm run devstart

(back to top)

Roadmap

  • Home Page
  • Users
    • User pages
  • Emails
    • User emails
    • Automated emails
  • Events
    • Creation
    • User registration
  • Mailing List
    • Registration
    • Mass emails/newsletter
  • News and Articles
    • CMS panel
    • Media upload
  • SEO
  • Documentation

(back to top)

Abilities Mastered

  • Re-creation of an Adobe Photoshop and Adobe Illustrator design for this website with CSS (front-end)
  • Usage of .svg files with CSS to dynamically change their color on events
  • AWS
    • Elastic Beanstalk
    • Route 53
    • ACM
    • Simple Email Service
    • WorkMail
    • S3
  • Email Domains
  • CSS Animations
  • Mailing Lists
  • PayPal API
  • User Registration with Email Confirmation
  • User Password Reset Emails
  • User Transactional Emails
  • JSON Web Tokens
  • JSDoc

(back to top)

License

This project is property of Emilio Popovits Blake and Jose Carlos Briones. All rights are reserved. Modification or redistribution of this code must have explicit consent from either owner.

(back to top)

Contact

Emilio Popovits Blake - Contact

Project Link: https://github.com/empobla/Gira

(back to top)

Acknowledgments

(back to top)

About

A fullstack website created for a multi-university college club where users can publish articles and events with images and videos, send massive emails to mailing lists, and accept donations.

Topics

Resources

Stars

Watchers

Forks