Yassine-Lafryhi / Latex-Generator

A JAVA web application to generate EXAM/TP/TD in LATEX format

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Latex-Generator

A Java web application to generate EXAM/TP/TD in LATEX format

Project Presentation

This project is a Latex Generator that its specially role is to generate an EXAM or TP or TD for a professor , To make his tasks less difficult and more effective to win time and organize work. Also, the professor can add the exercises in database as he likes, he just need to select the subject and the level then the body of the exercise.

Built With

Design & Analysis (UML)

Class Diagram :

Use Case Diagram :


Prerequisites

  • Install maven :

On MAC OS using Homebrew :

brew install maven

On Linux (Ubuntu) :

sudo apt install maven

On Windows using Chocolatey :

choco install maven
  • Configure MongoDB server :
package com.latex.generator.backend;

import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;
import com.mongodb.client.MongoDatabase;

public class Database {
    public static MongoDatabase db = null;

    public static void connect() {
        int portNumber = 27017;
        String hostName = "localhost", databaseName = "LatexGenerator";
        String client_url = "mongodb://" + hostName + ":" + portNumber + "/" + databaseName;
        MongoClientURI uri = new MongoClientURI(client_url);
        MongoClient mongo_client = new MongoClient(uri);
        db = mongo_client.getDatabase(databaseName);
        while (db == null) ;
    }
}
  • Create Database & Collections :
use LatexGenerator

db.Users.insert({
    "FirstName" : "Youssef",
    "LastName" : "Baddi",
    "Email" : "baddi.y@ucd.ac.ma",
    "Password" : "7dd6d2220b0c9be4da3a4967c4af7aa4",
    "UniversityName" : "UCD",
    "EstablishmentName" : "ESTSB",
})

db.Subjects.insert({
    "Email" : "baddi.y@ucd.ac.ma",
    "Name" : "POO JAVA"
})

How to run it

mvn jetty:run

Screenshots

Login :

Create an account :

Add an exercise :

Generate Latex or PDF file :

Example of a generated exam :


Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

MIT License

Thanks

🙏 Finally, we want say thank you to the one and only, our teacher Mr BADDI YOUSSEF Assistant Doctor in UCD (CHOUAIB DOUKKALI University, ElJadida, Moroco) for his supervising and supporting, also for giving us this opportunity to improve our skills and know new technologies.

Contact

About

A JAVA web application to generate EXAM/TP/TD in LATEX format

License:MIT License


Languages

Language:Java 53.1%Language:JavaScript 46.9%