- Introduction
- Features
- Repositories
- Instructions for Running the Project
- Usage
- Project Structure
- Testing
- Technologies Used
- Contributors
- Contributing
- Contact
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.
- 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.
This project is divided into two repositories to separate the frontend and backend components:
- Frontend Repository: Frontend Repository Link
- Backend Repository: Backend Repository Link
Before you begin, ensure you have met the following requirements:
- Clone the Repositories:
git clone https://github.com/Primeister/FundingRequest.git git clone https://github.com/Primeister/FundReq.git
- Navigate to the Project Directories:
In a separate terminal:
cd FundingRequestcd FundReq - Install Dependencies:
In both project directories, run:
npm install
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
- 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
- Start the Backend Server:
In a terminal, navigate to the backend directory and run:
The backend server will be running at
npm install sqlite3 npm start
http://localhost:3000.
- Open the Application:
Go to
http://localhost:5000in your web browser. - Create an Account: Create an account to start submitting or managing funding requests.
- Explore Features:
- Submit applications
- Review and manage funding opportunities
- Track budget and generate reports
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
FundingRequest-Backend/
├── .github/workflows/
│ └── ci.yml
├── node_modules/
├── README.md
├── database.db
├── index.js
├── package-lock.json
├── package.json
├── server.js
- Run Tests:
In both repositories, you can run:
This will run the automated test cases to ensure the application is functioning correctly.
npm test
- HTML, CSS, JavaScript
- Node.js
- SQLite3
- Thunder Client (VS Code extension)
- Postman
- Microsoft Azure
- GitHub
- draw.io
- Visual Studio Code
- Prince Dlomo
- Athini Mgagule
- Khumoetsile Marope
- Vutshila Mashimbyi
- Siphosakhe Mkhwanazi
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch). - Make your changes and commit them (
git commit -m 'Add new feature'). - Push to the branch (
git push origin feature-branch). - Open a Pull Request.
For any questions or feedback, feel free to contact any of the contributors:
- Prince Dlomo: [2332600@students.wits.ac.za]
- Athini Mgagule: [2549192@students.wits.ac.za]
- Khumoetsile Marope: [1884585@students.wits.ac.za]
- Vutshila Mashimbyi: [2562071@students.wits.ac.za]
- Siphosakhe Mkhwanazi: [2583003@students.wits.ac.za]