/Foodaholic-Server

Server side of the app Foodaholic(https://github.com/lihr04/Foodaholic)

Primary LanguageJavaMIT LicenseMIT

Foodaholic Server

Server side for Foodaholic

Domain

Build Status

Deploy

Architecture

Foodaholic is a mobile application. It’s divided in two components, the server, and the client in the master branch. It uses the tools including Javalin, PostgreSQL Database, Postman, Retrofit, Android Studio, and other tools in the Toolbox.

Server

Server: The entry point of the Server, including the main method that is called when the Server starts. The Server class uses Javalin to start a web server, sets up routing for incoming HTTP requests, connects to the PostgreSQL, and so forth.

API Documentation

Postman Collection: The Server and the Client communicate through an API. The Postman Collection documents what are the endpoints that the Server must provide and the Client may consume. It includes examples of the API in use as well as tests (see below). The router path architecture can be found in Server.java, and the RESTful API on the client side can be found in HerokuAPI.java.

Tests

UserTests: Automated Unit Tests for the User model.

Postman Tests: Automated tests for the Server as a whole—they’re sometimes called System Tests. They simulate what a browser would do, communicating with the Server through HTTP. To run these tests, you must start the server and import the Postman Collection.

Auxiliary Files

.gitignore: Configuration for Git, specifying which files must not be versioned (tracked), because they belong not the project, but the developer’s machine, for example, the .DS_Store files generated by Finder in macOS.

.travis.yml: Configuration for Travis CI, specifying how to run the tests for Foodaholic.

app.json: Configuration for the Deploy to Heroku button above.

build.gradle: Configuration for Gradle, which lists the libraries in which TODOOSE depends, specifies that Server (see above) is the class that must run when the Server starts, specifies how to run unit tests (see above), and so forth.

CODE_OF_CONDUCT.md: The Code of Conduct for Foodaholic contributors.

gradlew and gradlew.bat: Wrappers for Gradle for macOS/Linux and Windows, respectively. These wrappers install and run Gradle, simplifying the setup process.

LICENSE: The License for TODOOSE.

Procfile: Configuration for Heroku, specifying how to start the application.

README.md: This documentation.

settings.gradle: Gradle configuration generated by IntelliJ.

system.properties: Configuration for Heroku, specifying which version of Java to run.