Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Fall 2024] Final Checklist #230

Open
13 of 18 tasks
devAgant opened this issue Nov 19, 2024 · 0 comments
Open
13 of 18 tasks

[Fall 2024] Final Checklist #230

devAgant opened this issue Nov 19, 2024 · 0 comments
Assignees
Labels
documentation Improvements or additions to documentation

Comments

@devAgant
Copy link
Collaborator

devAgant commented Nov 19, 2024

End of Semester Requirements

The following checklists are what is required for your code to be considered acceptable at the end of the semester. The general purpose is to ensure that someone can run your code without encountering any errors and everything the next team needs will be easy to find. If your project cannot be run based on the information and files on GitHub, your final project grade will be greatly reduced and/or your team will receive an incomplete until the information needed to run your project is provided!

Project Structure/Files

These requirements must be met (in the main branch of your project) by the time your final report is due.

  • The most up to date version of all frontend and backend code
  • Database Files
    • If using docker: docker-compose.yml at top level for project database.
  • Database Schema
    • If using Prisma: schema.prisma in a top level prisma folder
    • If using other database: A file with a descriptive name used to create your database schema (e.g. schema.sql)
  • .env.example file containing NON-SENSITIVE environment variables (Auth0 Issuer, dev database url, etc). Sensitive environment variables should be replaced with example data such as CLIENT_SECRET='EXAMPLE_CLIENT_SECRET' so that future groups know that the environment variable is required.
  • Figma design files in a top level folder named figma.
  • Any migration scripts, dev scripts, etc. (if any exist) belong in a top level scripts folder. If the project has separate frontend/backend folders, the scripts folder should be in the backend folder.
  • Any other important files should be included in an appropriately named folder (such as docs, documentation, notes, etc).

Documentation

A README.md file at the top level containing the following:

  • Conceptual overview - what is the project intended to accomplish? - Aaryaa
    • Include a broad description of the different types of users/roles and what they do.
  • Functional requirements (broken down by page) - what are the discrete operations the app needs to be capable of? - Calvin
  • Third party integrations and what they do in this project - HubSpot, Stripe, Auth0, etc. - Anish
  • Tech Stack - Atreya
    • Include frontend framework (React, Vue, Svelte, etc.)
    • Include backend framework (Express.js, etc.)
    • If you use a meta framework, where the frontend and backend are combined, then you do not need to differentiate between frontend and backend (Next, Nuxt, SvelteKit, etc.)
    • Database (PostgreSQL, MySQL, MongoDB, etc.)
    • Other important packages (UI plugins, database connectors like prisma)
    • Other tools used/needed (such as Postman)
  • Migration scripts - do we need to import any data from an existing system that the partner is using? - Rithwik
  • Instructions for setting up the development environment!!! Assume that the needed software is already installed (Node.js, Docker, etc.). - Arif
    • How do you start your project?
    • How do you initialize the database?
    • How do you set up authentication?
    • Etc.

Optional Additional Documentation

In the repo's GitHub wiki, include the following:

  • List of user workflows (each different type of user)
  • Each workflow should have a corresponding wiki page, linked in the list, that either contains the workflow information or a TODO.
  • Each workflow should list the pages involved
  • List of user roles and what each role is able to do
  • Every third party integration should have its own page describing what parts of that service are used, how, and why

These should be high level - you should not be explaining every line of code.

@devAgant devAgant added the documentation Improvements or additions to documentation label Nov 19, 2024
@devAgant devAgant pinned this issue Nov 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

6 participants