Skip to content

neeleshca/se_project_submission

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

se_project_submission

Doc link -> https://docs.google.com/document/d/10LS89MR5z4EFpyr6MCvc6h33QDean_v4BKbW9zkQ_Uw/edit?usp=sharing

Backend
Repository - Backend and Container Repository (https://github.com/hudibaba44/se_project_submission)
Dependencies -
Install environment.yml using conda.
https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#creating-an-environment-from-an-environment-yml-file

backend folder
backend.py is run using nginx and gunicorn. It is the server the frontend interacts with.
It’s API’s are
/signup
/login
/code_editor (sends request to container microservice)
/deploy_server (sends request to container microservice)
/code_editor_password (sends request to container microservice)
/framework_signup (creates folder, and git user, repo)
/framework_signup_exists

database_backend.py handles all database requests.
Mongo is used as the database.
It connects to a common database shared by the container microservice.
Database name - ‘SE’
Users collection - ‘users’
Frameworks collection - ‘frameworks’

git_backend,py handles git requests.
It needs the IP address of the git server and authentication token.

Initial_folders contains folders that are copied to the users folder during sign up of the framework.

code folder
Code_server_with_python_g++_git folder contains the dockerfile which adds on to the image from https://github.com/cdr/code-server. It installs python3, build essentials and git.
Add on to this dockerfile if anything more is needed.

Dockerfiles folder contains the dockerfiles to build and run the user's files according to the framework chosen.

app.py is deployed on port 5001 and backend.py requests services from it.
It is the microservice responsible for creating/deleting the text editor and the test server for the user.

API’s
/code_editor (creates code editor)
/code_editor_password (retrieves password)
/deploy (creates server for user to test on)

Frontend
Git Repository: Frontend and Content Server (https://github.com/mehulgarg/se-project-frontend)
Dependencies
Install all the dependencies by navigating to the main folder
Then run the npm install command
All the peer dependencies have to be installed manually

Learning-platform folder
The frontend runs on the default Angular Server
There are multiple components
There are shared components which are used inside multiple components
The nav-bar component is the top navigation bar
The login-component contains the login page
The register-component contains the registration page
The services maintain the state of the application and broadcast data across components
The user models explore the data sent by various APIs
The AppConstants maintains the keys for the session storage which is very similar to JavaScript
localStorage
The assets folder contains the various images and thumbnails used in the frontend.

The Content Server
The content server contains all the content for the learning platform
The content server must be running along with frontend server.
The content.py file contains all the content
The folder contains the various JSON files for the content of individual frameworks

Drone
In the drone dockerfile change the gitea server ip to the one on which gitea is setup.
Follow the steps in https://docs.drone.io/installation/providers/gitea/
Change the client id and client secret.
docker-compose is there in the backend repo.

Git Server
https://gitea.io/en-us/

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published