Code Monkey home page Code Monkey logo

shamiri-mobile-app's Introduction

Journaling App

Personal Journaling App.

Description

A mobile application and a backend service for personal journaling. Users should be able to write journal entries, categorize them, and view a summary of their entries.

Getting Started

Mobile app

Dependencies

  • Node version used in dvelopemnt; Node v20.12.2.
  • Development framework is Raect Native (Javascript) no typescript
  • Developed using Expo find Expo documentation here

Installing

Executing program

  • To install modules
 npm install 
  • Start the Expo application
 npx expo start

Backend Api

Dependencies

  • Python version used Python 3.10.12 but should not be a problem with most python distributions.
  • Framework used FastApi (a python based framework) version details (FastAPI CLI version: 0.0.4) Fastapi source page here
  • Docker find docker source here

Installing

Building the docker mage

  • While having docker installed in your machine (link shared above under dependecies)
  • Step 1: To build the docker image Run
docker-compose build
  • Step 2: Start the Docker Containers:
docker-compose up -d
  • Step 3: Running Migrations: Create the migrations:

    docker-compose exec web alembic revision --autogenerate -m "init"
    

    Apply the Migration:

    docker-compose exec web alembic upgrade head
    
  • If all is well the backend should be up and running on localhost ( http://0.0.0.0:8000/ ) you can test it using api testng tools like postman or any others to confirm all is well.

    NB: Remember to stop the running service for posgresql since its the databse used on the docker container

    sudo service postgresql stop
    

API documentation

You can find Api endpoint documentation on this shared Postman link to the api endpoint collection Here is the link to the collections workspace

Or a json version of it that is part of the shamiri-backend-api repository here json version or the pdf version here Shamiri Journals Backend API.pdf

Tests

Running the command at step 2 above will also run the tests at app initialization. But to run test yourself, then after the steps outlined in the installation section above have been completed succesfully ,run below command on terminal while in the root folder of the application.

docker-compose run test 

The test tool used is Pytest

But also after finishing all the Installation steps outlined above running

docker-compose up 

will run the tests during application start up and you can see the test result output

shamiri-mobile-app's People

Contributors

kinyodan avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.