All Projects → kowainik → issue-wanted

kowainik / issue-wanted

Licence: MPL-2.0 license
🏷 Web application to help beginners to start contributing into Haskell projects

Programming Languages

haskell
3896 projects
elm
856 projects
javascript
184084 projects - #8 most used programming language
PLpgSQL
1095 projects
HTML
75241 projects
Makefile
30231 projects

Projects that are alternatives of or similar to issue-wanted

Three Layer
3️⃣ 🍰 Architecture of the Haskell web applications
Stars: ✭ 246 (+303.28%)
Mutual labels:  backend, web-application
Mastering-PHP7
📚 PinterCoding University. Author : Gun Gun Febrianza
Stars: ✭ 92 (+50.82%)
Mutual labels:  backend
live-torrent-backend
The backend server for the live-torrent project
Stars: ✭ 38 (-37.7%)
Mutual labels:  backend
github-issues-notice
Notify labeled issues to Slack
Stars: ✭ 20 (-67.21%)
Mutual labels:  github-issues
aw navigation
Helferklasse zur Umsetzung komplexer Navigationen
Stars: ✭ 23 (-62.3%)
Mutual labels:  backend
woliveiras.github.io
My personal Blog
Stars: ✭ 25 (-59.02%)
Mutual labels:  backend
heroku-flask-template
A simple, fast and easy-to-deploy Heroku ready flask web app template written in Python.
Stars: ✭ 26 (-57.38%)
Mutual labels:  backend
umbrella
Umbrella framework
Stars: ✭ 98 (+60.66%)
Mutual labels:  backend
admin-sticky-widget-areas
A simple WordPress plugin to make the widget areas on the right side at /wp-admin/widgets.php sticky.
Stars: ✭ 22 (-63.93%)
Mutual labels:  backend
lucene
Apache Lucene open-source search software
Stars: ✭ 1,009 (+1554.1%)
Mutual labels:  backend
login-server
Login and connect accounts with multiple identity providers
Stars: ✭ 28 (-54.1%)
Mutual labels:  web-application
impress-cli
Impress Application Server Command line interface
Stars: ✭ 25 (-59.02%)
Mutual labels:  backend
hrms-project-backend
N-Layer Architecture human resource management system project with Java.
Stars: ✭ 74 (+21.31%)
Mutual labels:  backend
Resources-For-New-Developers
A curated list for new developers and web designers.
Stars: ✭ 27 (-55.74%)
Mutual labels:  backend
databrary
behavioral science research media data sharing web application
Stars: ✭ 49 (-19.67%)
Mutual labels:  web-application
amqp-as-promised
No description or website provided.
Stars: ✭ 20 (-67.21%)
Mutual labels:  backend
nine-cards-backend
An Open Source Android Launcher built with Scala on Android
Stars: ✭ 61 (+0%)
Mutual labels:  backend
node-fastcgi
Create FastCGI applications with node.js
Stars: ✭ 49 (-19.67%)
Mutual labels:  backend
smartadmin.core.urf
Domain Driven Design (DDD) lightweight development architecture(support .net 5.0)
Stars: ✭ 100 (+63.93%)
Mutual labels:  web-application
workflowmanager-viewer-js
Source code for ArcGIS Workflow Manager JavaScript viewer - Manage your workflows on the web.
Stars: ✭ 23 (-62.3%)
Mutual labels:  web-application

Issue Wanted

CircleCI Hackage MPL-2.0 license

issue-wanted is a web application focused on improving the open-source Haskell community by centralizing GitHub issues across many Haskell repositories into a single location. The goals of issue-wanted are to make it easier for programmers of all skill levels to find Haskell projects to contribute to, increase the number of contributions to open-source Haskell projects, and encourage more programmers to become a part of the Haskell community.

Architecture Description

Main work on this project was done during Google Summer of Code 2019. For anyone interested in the details of how issue-wanted was implemented and why certain design choices were made, check out these blog posts:

Backend

Prerequisites (what you need to have locally)

You will need to have the following installed on your system in order to build and test issue-wanted. Click on the links to learn how to install each one:

  1. ghc
  2. cabal or stack
  3. docker
  4. libpq-dev: run the command sudo apt install libpq-dev to install.

With docker installed, open up a terminal (make sure your in the issue-wanted directory) and run the command make postgres. This will setup the database for you and you should be ready to go!

Follow the instructions under How to run server and test the endpoints to see if everything is set up correctly.

Refer to issue #81 if you're still having trouble.

How to build

To build the project, open up a terminal in the base folder and run

stack build

or

cabal v2-build

How to generate Elm types

If any types are changed one should update the generated to Elm types by running:

stack run generate-elm

or

cabal v2-run generate-elm

How to run server

For testing the issue-wanted server follow these steps:

  1. Open up the terminal in the base folder and run stack build
  2. Run the command stack exec issue-wanted

The server will begin running at http://localhost:8080/.

API

Issue-wanted endpoints available:

Endpoint Description
/issues Returns all issues.
/issues/:id Returns a single issue with the corresponding id.
/issues?label=<label name> Returns a list of issues with the corresponding label.

Tip: If you stop running the server and then try to restart it, you may need to run the command fuser -n tcp -k 8080 to free the port.

How to run automatic tests locally

  1. In a separate terminal run make postgres (this command will run database in a Docker container)
  2. In the first terminal run stack test or cabal new-test

How to deploy new Docker image for CI

When stack snapshot is updated, you need to update Dockerfile accordingly and push new docker image to Docker Hub. This can only be done if you have access to the account credentials.

Perform the following commands:

docker build . -t kowainik/haskell-ci
docker push kowainik/haskell-ci

Frontend

Currently, frontend is implemented using Elm.

Prerequisites (what you need to have locally)

How to run

NOTE: All actions should be done in the frontend folder:

cd frontend/

First time

  • Get node modules: npm install
  • Proceed to Subsequent steps

Subsequent

  • in one tab: elm-app start
  • in another tab: npm run-script watch-css

Frontend will begin running at http://localhost:3000/.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].