Skip to content

Web based donation application that created using Go and Typescript

License

Notifications You must be signed in to change notification settings

stanleyclaudius/donation-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Forks Stargazers Issues MIT License LinkedIn


Logo

Donation Application

An awesome donation application based on website
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Contributing
  4. License
  5. Contact
  6. Acknowledgments

About The Project

Donation App is a web application that the main functionality is to allow their user to create a campaign and donate to it. This website have 3 roles inside it, such as admin, fundraiser, and general user. Each roles can access to different resources that support the main lifecycle of this application.

back to top

Built With

Main technology used to built this application are listed below:

back to top

Getting Started

To get started with this project locally, follow below steps:

Prerequisites

Make sure you have go, docker, and package manager (either npm or yarn) installed

FYI: This project uses yarn as the client package manager, but you're free to use npm too.

Installation

Below steps will guide you through the local installation process of this application

  1. Clone the repo
    git clone https://github.com/stanleyclaudius/donation-app.git
    
  2. Install client-side dependency
    Make sure that your terminal pointing at the root directory of this project (donation-app folder).
    cd client && yarn install
    
  3. Spin up Docker, then open up the terminal, and change directory to the server folder, then run below command
    make postgres && make createdb && make migrateup
    
  4. Note that, the admin account should be created manually in the database
  5. Complete the .env variable
    Rename .env.example file at /config directory become .env, then fill the value for every key. Below is the guideline for filling the .env value:
    Key What To Fill Example Value
    DB_DRIVER Your database driver postgres
    DB_SOURCE Your database source URL postgresql://root:xxx
    SERVER_ADDRESS Your server address 0.0.0.0:8080
    TOKEN_SYMMETRIC_KEY Random 32 characters length string 7888329xxx
    ACCESS_TOKEN_DURATION Access token duration 15m
    REFRESH_TOKEN_DURATION Refresh token duration 24h
  6. Lastly, open 2 terminal at the same time, and run below command at your terminal to spin off the application
    cd client && yarn start
    
    cd server && make server
    

back to top

Contributing

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

back to top

License

Distributed under the MIT License. See LICENSE.txt for more information.

back to top

Contact

LinkedIn: Stanley Claudius

Project Link: https://github.com/stanleyclaudius/donation-app

back to top

Acknowledgments

Special thanks to:

  • Othneildrew for providing an amazing README template.
  • Tailwind CSS for providing CSS framework to be used in this application.
  • React Icons for providing icon to be used in this application.

back to top