Skip to content

Latest commit

 

History

History
71 lines (61 loc) · 3.04 KB

Project_requirements.md

File metadata and controls

71 lines (61 loc) · 3.04 KB

Project Overview: Personal Journaling App

Objective

  • Create 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.

Project Requirements

Mobile Application

Platform

  • The application will be built using React Native. You can choose to bootstrap the project using either expo or react-native-cli.
  • We prefer that the project be done using TypeScript. However, we will still accept submissions in plain Javascript.

Features

  • User Authentication:
    1. Allow users to sign up and log in.
    2. Journal Entry Management
    3. Add new journal entries with a title, content, category, and date.
    4. Edit and delete existing entries.
  • Journal View
    1. Allow users to view a list of all their journal entries.
    2. Categorization
      • Users should be able to categorize their entries e.g. Personal, Work, Travel, etc.
      • Summary View
        • Display a summary of journal entries over a selected period i.e. daily, weekly, monthly.
  • Settings
    1. Allow users to update their username and password.

Design

Use a simple and intuitive UI, focusing on usability and clarity. You can use pre-designed UI libraries or create your own components.

Backend Service

Platform

  • I will use Python backend as a backend of choice

Features

  • User Management
    1. User registration and authentication (JWT or session-based).
    2. Profile management.
  • Journal Entry Management
    1. CRUD operations for journal entries.
    2. Categorization of entries.
  • Data Summary
    1. Endpoints to fetch summary data for given periods.
  • Security
    1. Ensure all endpoints are secure and accessible only by authenticated users.
  • Database
    1. Using MySQL as the database.

Project Deliverables

A GitHub repository containing the code for both the mobile app and backend service.

  • Documentation
  • Instructions on how to set up and run the backend service.
  • Instructions on how to build and run the mobile app.
  • API documentation detailing the endpoints and their usage.

Timeline

  • Day 1-2: Set up the project structure for both the mobile app and backend. Implement user authentication.
  • Day 3-4: Develop CRUD operations for journal entries and implement categorization.
  • Day 5: Implement the user interface and data fetching in the mobile app.
  • Day 6: Testing and bug fixing.
  • Day 7: Final touches, create documentation, and record the demo video.

Evaluation Criteria

  • Code Quality: Clean, readable, and maintainable code with appropriate use of design patterns.

  • Functionality: Completeness of the features as described.

  • User Interface: Usability and visual appeal of the mobile app.

  • Documentation: Clarity and completeness of the setup instructions and API documentation.

  • Testing: Adequate testing to ensure reliability and correctness.

  • Commit History: Please commit early & often as this shows us your process.

  • Submission Details https://forms.gle/4BhkBvY8RjZ3HjFN8