Anthill is an open-source charity management system designed to enhance transparency and efficiency for small charities. This project serves as my university project for the year and as a contribution to a local charity, offering a scalable solution for managing transactions, inventory, and users.
- Transaction Management: Keep track of all financial transactions with ease and form stats overviews for any selected date range.
- User Management: Handle users and their roles.
- Action logging: Every action can be viewed through the logging page, providing additional transparency for the users.
- Planned: Humanitarian Aid accounting.
- Backend: NestJS - A progressive Node.js framework for building efficient and scalable server-side applications.
- Frontend: Flutter - An open-source UI software development toolkit for building natively compiled applications for mobile, web, and desktop from a single codebase.
- Flutter SDK to build the frontend and NodeJS to run the backend. Docker images are on their way but are not just yet there.
- PostgreSQL installed on your server or machine accessible through HTTP.
-
Clone the repository:
git clone https://github.com/mitryp/anthill cd anthill/anthill_back
-
Install dependencies:
npm i -y
-
Set up environment variables:
cp .env.example .env # Update the .env with your configuration
-
Run the server:
npm run start
-
Navigate to the frontend directory:
cd ../frontend
-
Install dependencies and run the codegen:
flutter pub get && flutter run build_runner build
-
Run the application:
flutter build web --release
We welcome contributions from the community! To contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature
). - Commit your changes (
git commit -am 'Add some feature'
). - Push to the branch (
git push origin feature/your-feature
). - Create a new Pull Request.
This project is licensed under the Apache License - see the LICENSE file for details.