Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

474 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FundX

Table of Contents

  1. Introduction
  2. Features
  3. Repositories
  4. Instructions for Running the Project
  5. Usage
  6. Project Structure
  7. Testing
  8. Technologies Used
  9. Contributors
  10. Contributing
  11. Contact

Introduction

The Funding Requests Management System is a web-based application that allows organizations to advertise their funding opportunities and manage the applications they receive. It supports various types of funding opportunities, including educational, business, and events.

Features

  • Funding Opportunities Ads: Enable organizations to advertise funding opportunities.
  • Applications: Allow users to submit applications for funding opportunities.
  • Funding Review: Enable fund managers to review and approve/reject applications.
  • Budgeting: Provide tools for fund managers to manage the available funds.
  • Reporting: Generate and display various reports on a dashboard, including funds usage over time and application data.
  • User Verification: Implement user verification through a third-party identity provider with three roles: Applicants, Fund Managers, and Platform Admin.
  • User Management: Allow admins to manage users, review and approve fund managers, block users, manage access, change permissions, etc.
  • Notifications: Send relevant users notifications on updates to their applications.

Repositories

This project is divided into two repositories to separate the frontend and backend components:

  1. Frontend Repository: Frontend Repository Link
  2. Backend Repository: Backend Repository Link

Instructions for Running the Project

Prerequisites

Before you begin, ensure you have met the following requirements:

Installation

  1. Clone the Repositories:
    git clone https://github.com/Primeister/FundingRequest.git
    git clone https://github.com/Primeister/FundReq.git
  2. Navigate to the Project Directories:
    cd FundingRequest
    In a separate terminal:
    cd FundReq
  3. Install Dependencies: In both project directories, run:
    npm install

Setting Up Environment Variables

In each repository, create a .env file in the root directory and add the following environment variables:

For the frontend repository:

PORT=5000

For the backend repository:

PORT=3000
DATABASE_URL=https://fundreq.azurewebsites.net

Setting Up the Database

  1. Initialize the Database: Run the following commands in the backend repository to set up the SQLite3 database:
    npx sequelize-cli db:migrate
    npx sequelize-cli db:seed:all

Starting the Server

  1. Start the Backend Server: In a terminal, navigate to the backend directory and run:
    npm install sqlite3
    npm start
    The backend server will be running at http://localhost:3000.

Usage

  1. Open the Application: Go to http://localhost:5000 in your web browser.
  2. Create an Account: Create an account to start submitting or managing funding requests.
  3. Explore Features:
    • Submit applications
    • Review and manage funding opportunities
    • Track budget and generate reports

Project Structure

Frontend Repository

FundingRequest/
├── .github/workflows/
│   └── node.js.yml
├── Documents/
├── coverage/
├── images/
├── tests/
├── README.md
├── about.js
├── admin.html
├── admin.js
├── applicants.html
├── applicants.js
├── applications.html
├── applications.js
├── approve.js
├── category.js
├── dashboardResponsive.css
├── dashboardScript.js
├── dashboardStyle.css
├── form.css
├── form.html
├── form.js
├── fundManagers.js
├── fundingOpp.js
├── fundingReport.js
├── fundmanagers.html
├── funds.js
├── index.html
├── jest.config.js
├── main.js
├── manageApplicants.js
├── manageFunders.js
├── notifications.js
├── reporting.css
├── reporting.html
├── reporting.js
├── script.js
├── signIn.js
├── signUp.js
├── status.html
├── status.js
├── style.css

Backend Repository

FundingRequest-Backend/
├── .github/workflows/
│   └── ci.yml
├── node_modules/
├── README.md
├── database.db
├── index.js
├── package-lock.json
├── package.json
├── server.js

Testing

  1. Run Tests: In both repositories, you can run:
    npm test
    This will run the automated test cases to ensure the application is functioning correctly.

Technologies Used

Frontend:

  • HTML, CSS, JavaScript

Backend:

  • Node.js

Database:

  • SQLite3

API Development & Testing:

  • Thunder Client (VS Code extension)
  • Postman

Deployment:

  • Microsoft Azure

Version Control:

  • GitHub

UML Diagrams:

  • draw.io

IDE:

  • Visual Studio Code

Contributors

  • Prince Dlomo
  • Athini Mgagule
  • Khumoetsile Marope
  • Vutshila Mashimbyi
  • Siphosakhe Mkhwanazi

Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature-branch).
  3. Make your changes and commit them (git commit -m 'Add new feature').
  4. Push to the branch (git push origin feature-branch).
  5. Open a Pull Request.

Contact

For any questions or feedback, feel free to contact any of the contributors:

About

Funding Requests web application

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages