A web-based achievement system for banking activities that gamifies financial tasks and educates users about banking services.
- User Authentication: Secure login and registration system
- Employee Performance Tracking: Complete banking tasks to earn achievements
- Branch Comparison: Compare the selected branch with other branches
- Task Notification: Notify users of submitted a form/task
- Frontend: React.js @19.0.0
- Backend: Express.js @4.18.2
- Database: MySQL @3.10.0
- Deployment Server: Microsoft Azure
- Web Cache & Authentication: JWT @9.0.2
- Node.js (v14 or higher)
- npm (v6 or higher)
-
Clone the repository:
git clone https://github.com/hengruiren/Bank-Achievement-System.git cd Bank-Achievement-System -
Install server dependencies:
npm install -
Install frontend dependencies:
cd frontend npm install -
Build the frontend:
npm run build -
Return to the project root and start the server:
cd .. node server -
Open your browser and navigate to
http://localhost:3000orhttp://localhost:8080(Depending the port displayed on your terminal) to view the application.
Note: For security reasons, the local development environment cannot access the production database. Use the live demo for full functionality.
Following the portion division on frontend/src/components/AppRouter.jsx, you can navigate to specific pages by commenting/uncommenting the portion.
(e.g By default, it directs to the sign-up/login page, if you want to preview the admin dashboard, you can comment out the login/sign-up portion (as well as the employee portion) and uncomment the admin dashboard portion in the AppRouter.jsx file.)
Same reason for if you want to preview the employee dashboard or any other pages.
Note: Whenever you changed the AppRouter.jsx file, you will need to restart the server by following commands from step 3.
For demonstration purposes, you can use the following admin account:
- Username: Kerui
- Password: Aptx4869030102!
Note: Regular users cannot register admin accounts directly for security reasons.
server.js- Main backend application filefrontend/- React frontend applicationsrc/- Source codepublic/- Static assets
models/- Database modelsroutes/- API routes
The application provides several API endpoints for various functionalities:
- Authentication routes (login, registration)
- User management routes
- Administrative routes
The application is deployed on Microsoft Azure at https://sddproject-hqfxarbpfrf6fxdz.canadacentral-01.azurewebsites.net/
Note: Since we store cookie and session once you login. Please try to use incognito mode or clear your browser cache if you want to login another user or test different accounts.
When running the application locally, please note the following limitations:
- The local instance cannot connect to the production database
- The achievement system functionality will be limited
- Admin features will not be fully accessible
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to all contributors who have participated in this project
- Special thanks to the CCB banking resources that helped inform our achievements system