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
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.
To get a local copy up and running follow these simple example steps.
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.
- Clone the repo
git clone https://github.com/empobla/Gira.git
- Install NPM packages
npm install
- 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.
- Start the server in development mode!
npm run devstart
- 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
- 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
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.
Emilio Popovits Blake - Contact
Project Link: https://github.com/empobla/Gira