Skip to content

This project involves the development of a REST API for the ICCBR conference platform, focused on processing payments, storing user purchase records, and sending success emails with purchase vouchers.

Notifications You must be signed in to change notification settings

aaaimx/iccbr-v1-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Geting started.

The ICCBR 2024 API is built in 🚀 Node.js using ⚙️ ExpressJS primarily, using an MVC (Model-View-Controller) design pattern to implement user interfaces, data and logic control.

🦣 PostgreSQL with the AWS Relationship Database Service RDS has been used for the database and the server is deployed on Amazon EC2 (Amazon Elastic Compute Cloud from AWS).

This platform is End to End, meaning it has a flow from start to finish, where the end user (customer) can select the tickets they are interested in purchasing, enter their personal purchase information and process payment using credit/debit cards with Stripe or interbank transfers, finally the client receives their receipt of payment to the email with which they registered.

Clone the repository to collaborate on the project.

Make sure you have Git installed, it is recommended to use Ubuntu as well. 😉

  1. Create a folder where you can save the Back-End repository, it is recommended that it be in the same directory where the Front-End is:
git clone https://github.com/aaaimx/iccbr-v1-api.git
  1. Once you have the repo locally, you will be able to see the structur tree:
.
├── 📄 documentation
├── 🗃️ src
│   ├── ⚙️ config
│   │   ├── database.js
│   │   └── nodemailer.js
│   ├── ⚙️ controllers
│   │   ├── bankTransferController.js
│   │   ├── nodemailerController.js
│   │   ├── stripeController.js
│   │   └── ticketsController.js
│   ├── 🗄️ models
|   |   ├── regisrationsModel.js
|   |   ├── registrationTicketsModel.js
|   |   └── usersModel.js
│   ├── 🌱 routes
│   │   ├── bankTransferRoutes.js
│   │   ├── stripeRoutes.js
│   │   └── ticketsRoutes.js
│   └── 🚀 index.js
├── 🔒 .gitignore
├── 📦 package.json
└── 📦 pnpm-lock.yaml

Warning

Note: Consider that .env and .env.local files should only be used locally.

Development and production environment.

The repository has three branches; prod, dev and hot-fixes;

Tip

Branches: These are parallel versions of the code base that allow working on different functionalities or bug fixes independently. In this case, three main branches are mentioned:

🚀 prod (short for "production"): This branch typically contains the stable version of the code that is ready to be deployed to a production environment, that is, the environment where end users interact with the live application.

🛠️ dev (short for "development"): This branch is often used to integrate new features and major code changes. It is a development environment where changes are tested and integrated before being promoted to the production branch.

🔥 hot-fixes (short for "quick fixes"): This branch is used to fix critical or urgent bugs in the production version without having to wait for the next planned release. Hot-fixes are deployed quickly and applied directly to the production branch to fix urgent issues.

Warning

Note: Make sure you don't make changes to the prod branch, much less make unauthorized merges to avoid problems.

Database

🗄️ Consult the database structure and E-R diagram for a better understanding: ICCBR_DB

About

This project involves the development of a REST API for the ICCBR conference platform, focused on processing payments, storing user purchase records, and sending success emails with purchase vouchers.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published