CoinTracker is an application which sole purpose is to keep track of your transactions and make it easier to build a saving plan around them.
- Built with C# .NET 8
- Follows Clean Architecture principles
- Uses PostgreSQL as the database
- Implements authorization using Firebase scheme
- Utilizes Hangfire for background jobs
- Dockerized for easy deployment
- .NET 8 SDK
- PostgreSQL
- Firebase account
- Docker (optional)
- Clone the repository:
git clone https://github.com/KarlynG/CoinTracker.git
-
Navigate to the project directory:
-
Configure the database connection string in
appsettings.json:
"ConnectionStrings": {
"DefaultConnection": "Your_PostgreSQL_Connection_String"
}
- Set up Firebase authentication:
- Create a new Firebase project in the Firebase Console
- Enable the desired authentication methods (e.g., email/password, Google, etc.)
- Obtain the Firebase project credentials and configure them in the project
Firebase configuration can be found in the appsettings.json:
"Jwt": {
"Firebase": {
"ValidIssuer": "https://securetoken.google.com/your-project",
"ValidAudience": "your-project"
}
},
"FirebaseSdk": "your-project-sdk-location",
-
Run the database migrations:
dotnet ef database update -
Start the application
- Build the Docker Image:
docker build -t your-image-name .
- Run the docker container:
docker run -d -p 8080:80 your-image-name
The API should now be accessible at http://localhost:8080.
- Navigate through the app to track cryptocurrency transactions.
- Use the interactive charts to visualize spending.
- Manage and update your budget limits and transactions.
- If you wish to contribute to the project, please fork the repository and submit a pull request.
- For major changes, please open an issue first to discuss what you would like to change.
- This project is licensed under the MIT License - see the
LICENSEfile for details.
- Email: karlynl251@gmail.com