Skip to content

eddiesosera/elementium-frontend

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Elementium frontend

Contributors Forks Starsgazers

Elementium

Elementium

Elementium is an innovative banking app offering a unique blend of finance and science

Explore the docs »

View Demo · Report Bug · Request Feature


Table of Contents
  1. About The Project
  2. Getting Started
  3. Features
  4. Contributors
  5. License

About the Project

Sign Up Page Mockup

Elementium revolutionizes traditional banking by integrating the elements of the periodic table into a tiered account system. Users can purchase and trade elements like Hydrogen, Lithium, Palladium, and Xenon, each representing a different account type—Reactive, Alkali, Transition, and Noble. With each upgrade, users gain access to exclusive perks and features, making financial management both engaging and rewarding.

(back to top)

Built With

Electron React PostgreSQL .Net Swagger NodeJS C# Typescript Javascript

Getting Started

Prerequisites

  • VS Code
  • .Net
  • NodeJS
  • PostgreSQL

Installation

Frontend Installation

  1. Clone the frontend repo
    https://github.com/Bladeyboy54/Elementium-frontend.git
  2. Install the node modules for Electron
    cd elementium
    then
    npm i
  3. Install the node modules for React
    cd elementium-app
    then
    npm i

Server Side Installation

Please refer to this repository.

  1. Clone the repository:

     git clone https://github.com/CWKrahtz/elementium-backend.git
  2. Navigate to the project directory:

     cd elementium-backend
  3. Restore the .NET dependencies:

     dotnet restore
  4. Set up your database (if possible). Ensure the connection string in appsettings.json is correct:

     "ConnectionStrings": {
         "DefaultConnection": "Server=your_server;Database=your_db;User Id=your_user;Password=your_password;"
     }
  5. Create Migration

     dotnet ef migrations add MigrationName
  6. Apply any pending migrations:

     dotnet ef database update

Running the Application

To run the application locally, use the following command:

In the back end

  dotnet run

In the front end

  cd ..
  npm run dev

The API should now be running at `https://localhost:5001` or `http://localhost:5000 for HTTP`.

Using Swagger

This project uses Swagger for API documentation. Once the application is running, you can access the Swagger UI by navigating to:

  https://localhost:5001/swagger

(back to top)

Features

1. Authentication & Security

  • User Authentication: Secure login and registration process to safeguard user data.
  • Password Hashing: All user passwords are hashed for enhanced security, ensuring that sensitive information remains protected.
  • OTP Verification: One-Time Pin (OTP) verification is implemented to add an extra layer of security during the registration and login processes.

2. Role-Based Routing

  • User Dashboard: Access to personalized features and functionalities based on user roles.
  • Admin Panel: Admins have exclusive access to management features, including user monitoring and system settings.

3. Account Management

  • Account Upgrades: Users have the option to upgrade their account tier (Reactive, Alkali, Transition, Noble) to unlock additional features and perks.
  • Balance Overview: Real-time viewing of current balances and transaction history.
  • Perks System: Each account tier offers unique perks that enhance the user experience, such as lower transaction fees, exclusive elements, and more.

4. Payment Portal

  • Peer-to-Peer Payments: Users can seamlessly transfer funds to other Elementium users within the app.
  • Currency Purchase: Purchase additional currency as elements directly through the portal, tied to the user’s current account tier.

5. Admin Controls & Monitoring

  • Transaction Monitoring: Admins have the ability to view all user transactions, providing oversight and ensuring the integrity of the platform.
  • User Management: Admins can disable or suspend user accounts if necessary, maintaining the security and compliance of the system.

Entity Relationship Diagram

erd

(back to top)

Contributors

eddie Sosera
Eddie Sosera

Christian Krahtz
Christian Krahtz

Cameron Godwin
Cameron Godwin

Bladen Lehnberg
Bladen Lehnberg

(back to top)

Licence

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 62.9%
  • SCSS 16.2%
  • CSS 11.1%
  • JavaScript 9.4%
  • HTML 0.4%